linux安装mvn(Linux安装MySQL)
men配置文件settings.xml中的profiles怎么用
Xml代码profile介绍 4.1 profile
linux安装mvn(Linux安装MySQL)
linux安装mvn(Linux安装MySQL)
linux安装mvn(Linux安装MySQL)
4.2 profile的定义位置
对于使用Men3,我们可以有多个地方定义profile。定义的地方不同,它的作用范围也不同。
针对于特定项目的profile配置我们可以定义在该项目的pom.xml中。
针对于特定用户的profile配置,我们可以在用户的settings.xml文件中定义profile。该文件在用户家目录下的“.m2”目录下。
全局的profile配置。全局的profile是定义在Men安装目录下的“conf/settings.xml”文件中的。
4.3 profile中能定义的信息
profile中能够定义的配置信息跟profile所处的位置是相关的。以下就分两种情况来讨论,一种是定义在settings.xml中,另一种是定义在pom.xml中。
4.3.1 profile定义在settings.xml中
当profile定义在settings.xml中时意味着该profile是全局的,它会对所有项目或者某一用户的所有项目都产生作用。因为它是全局的,所以在settings.xml中只能定义一些相对而言范围宽泛一点的配置信息,比如远程仓库等。而一些比较细致一点的需要根据项目的不同来定义的就需要定义在项目的pom.xml中。具体而言,能够定义在settings.xml中的信息有 和 。定义在 里面的键值对可以在pom.xml中使用。 4.3.2 profile定义在pom.xml中 定义在pom.xml中的profile可以定义更多的信息。主要有以下这些: l l l l l l l l 还有build元素下面的子元素,主要包括: 4.4 profile的激活方式 Men给我们提供了多种不同的profile激活方式。比如我们可以使用-P参数显示的激活一个profile,也可以根据环境条件的设置让它自动激活等。下面将对它们一一进行介绍: 4.4.1 使用activeByDefault设置激活 先看下面一个配置 我们可以在profile中的activation元素中指定激活条件,当没有指定条件,然后指定activeByDefault为true的时候就表示当没有指定其他profile为激活状态时,该profile就默认会被激活。所以当我们调用mvn package的时候上面的profileTest1将会被激活,但是当我们使用mvn package –P profileTest2的时候将激活profileTest2,而这个时候profileTest1将不会被激活。 4.4.2 在settings.xml中使用activeProfiles指定处于激活状态的profile 我们可以在settings.xml中使用activeProfiles来指定需要激活的profile,这种方式激活的profile将所有情况下都处于激活状态。比如现在我们定义了如下两个profile 考虑这样一种情况,我们在activeProfiles下同时定义了多个需要激活的profile。这里还拿上面的profile定义来举例,我们定义了同时激活profileTest1和profileTest2。 从profileTest1和profileTest2我们可以看出它们共同定义了属性hello。那么这个时候我在pom.xml中使用属性hello的时候,它到底取的哪个值呢?是根据activeProfile定义的顺序,后面的覆盖前面的吗?根据我的测试,是非也,它是根据profile定义的先后顺序来进行覆盖取值的,然后后面定义的会覆盖前面定义的。 4.4.3 使用-P参数显示的激 活一个profile 设我们现在有如下定义的profiles 那么当我们在进行Men作时就可以使用-P参数显示的指定当前激活的是哪一个profile了。比如我们需要在对项目进行打包的时候使用id为profileTest1的profile,我们就可以这样做: Cmd代码 mvn package –P profileTest1 当我们使用activeByDefault或settings.xml中定义了处于激活的profile,但是当我们在进行某些作的时候又不想它处于激活状态,这个时候我们可以这样做: Cmd代码 Mvn package –P !profileTest1 这里设profileTest1是在settings.xml中使用activeProfile标记的处于激活状态的profile,那么当我们使用“-P !profile”的时候就表示在当前作中该profile将不处于激活状态。 4.4.4根据环境来激活profile profile一个非常重要的特性就是它可以根据不同的环境来激活,比如说根据作系统的不同激活不同的profile,也可以根据jdk版本的不同激活不同的profile,等等。 4.4.4.1根据jdk来激活profile 上面情况表示在jdk为1.5版本系列的时候激活profileTest1。 上面的情况表示在jdk为1.4、1.5和1.6的时候激活profileTest1。 4.4.4.2根据作系统来激活profile 4.4.4.3根据系统属性来激活profile 上面的profileTest1将在提供了系统属性hello,并且其值为world的时候激活。下面的做法可以激活profileTest1。 Cmd代码 mvn package –Dhello=world 当是下面的这种定义形式时,profileTest1将在指定了系统属性hello,且其值为任意值的时候被激活。 4.4.4.4根据文件是否存在激活profile 上面的定义表示当存在target文件时激活profileTest1。 上面的定义表示当不存在target文件时激活profileTest1。 4.5 查看当前处于激活状态的profile 我们可以同时定义多个profile,那么在建立项目的过程中,到底激活的是哪一个profile呢?Men为我们提供了一个指令可以查看当前处于激活状态的profile都有哪些,这个指定就是mvn :active-profiles。 现在设我们的settings.xml文件中有如下profile的定义: 用Ja写了一个小工具,使用men ja 工程。写完后,想打包成一个可执行的jar包。 使用men的插件men-assembly-plugin pom.xml里添加在工程根目录执行 mvn clean compile assembly:single 在target文件夹里生成 jsoup-jar-with-dependencies.jar 这个jar包便是可执行的jar了,用命令ja -jar pathjarfile便可以执行。 注意:compile必须再assembly:single之前,要不然你工程的代码(class文件)就不会这个时候我们可以看到,我们已经定义了profileTest1始终为激活状态,这个时候我们使用mvn :active-profiles查看处于激活状态的profile时,就会打印出如下内容:被打包进去 1) 上传到使用命令解压:tar –xzvf apache-profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有时候我们可以通过作系统的不同来使用不同的配置信息,比如windows下是一套信息,linux下又是另外一套信息,等等。具体的激活条件有哪些我在后文会讲到。men-3.0.4-bin.tar.gz 2) 使用root用户来安装给所有用户使用 在/etc/profile文件中配置增加如下变量 MAVEN_HOME=” /usr/local/apache-men-3.0.4”(安装路径或者是解压路径) 3) 使变量生效,输入命令:source profile 4) 验证安装是否成功,输入mvn的命令:mvn –v 5) Linux上men的本地仓库默认在每个用户文件下, .m2文件是隐藏文件,要查看使用命令:ll –a 1、IDEA 下,运行mvn clean,--> mvn package ,等到项目打包成功,在该项目文件位置找到target 下的 demo.war,拷贝到tomcat8.5/webapps目录下。 2、访问路径:localhost:8080/${打包文件名}/请求 3、如何在访问时 去掉war包名? 3.1、 Tomcat的默认根目录是ROOT,实际上ROOT这个项目在实际生产环境是没有用的,所以我们可以用我们的项目覆盖ROOT项目 PATH=”$PATH:$MAVEN_HOME/bin”作过程: 2.把我们项目的war包解压后,项目目录下的所有文件和子目录都拷贝到ROOT目录下即可 或者有更狠的一招:直接删掉ROOT目录,然后把我们的项目打包名称改成ROOT.war,放到webapps下就行 3.2、Tomcat本身可以配置虚拟目录。方法就是在.xml中 作过程: 按照配置虚拟目录的方式,在 linux普通用户修改密码(设置简单密码) 主机A:192.168.1.110 主机B:192.168.1.111 需要配置主机A无密码登录主机A,1.删除ROOT下所有文件及文件夹主机B 先确保所有主机的防火墙处于关闭状态。 在主机A上执行如下: 1.$cd ~/.ssh 2.$ssh-keygen -t rsa --------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中。 3.$cp id_rsa.pub authorized_keys 这步完成+:添加某个权限后,正常情况下就可以无密码登录本机了,即ssh localhost,无需输入密码。 4.$scp authorized_keys hadoop@192.168.1.111:/home/hadoop/.ssh ------把刚刚产生的authorized_keys文件拷一份到主机B上. 5.$chmod 600 authorized_keys 进入主机B的.ssh目录,改变authorized_keys文件的许可权限。 正常情况下上面几步执行完成后,从主机A所在机器向主机A、主机B所在机器发起ssh连接,只有在次登录时需要输入密码,以后则不需要。 可能遇到的问题: 1.进行ssh登录时,出现:”Agent admitted failure to sign using the key“ . 执行: $ssh-add 强行将私钥 加进来。 2.如果无任何错误提示,可以输密码登录,但就是不能无密码登录,在被连接的主机上(如A向B发起ssh连接,则在B上)执行以下几步: $chmod o-w ~/ $chmod 700 ~/.ssh $chmod 600 ~/.ssh/authorized_keys 3.如果执行了第2步,还是不能无密码登录,再试试下面几个 $ps -Af | grep agent 检查ssh是否开启,如果有开启的话,kill掉该,然后执行下面,重新打开一个ssh,如果没有开启,直接执行下面: $ssh-agent $sudo serv sshd restart 4. 执行ssh-add时提示“Could not open a connection to your authenticationh agent”而失败 执行: ssh-agent bash 个人的一个小感受,学习一个新技术,应该以历史的眼光开看待这个新技术出现的原因,以及帮我们解决了什么问题。在个人职业生涯中要感谢Ja自学网,一直自学ja,我们来回忆一下没有Men的日子是怎么样的? 一、请写出如下功能Linux命令: 1.三种查看server.log的文件内容 linux查看日志文件内容命令tail、cat、tac、head、echo 详情: 2.编辑start.sh文件,查看文件前10行内容和后10行内容 vi start.sh head -n 10 start.sh 前10行 tail -n 10 start.sh 后10行 3.删除temp.conf文 rm -f file.log
4.查看后台所有ja进程 [plain] view plain copy ps -ef |grep tomcat 5.结束后台ja进程 不所有进程都可以用“kill+进程编号”结束掉,对于结束不掉的进程可以使用“kill -s 9 进程编号”来进行强制结束; 但一般情况下,只需要“kill 进程编号”就可结束。
6.编译men项目 mvn compile
7.将start.sh文件改为可执行权限 chmod u + x filename.sh chmod的语法格式如下:chmod [who] [opt] [mode] 文件/目录名 其中who表示对象,是以下字母中的一个或组合: u:表示文件所有者 g:表示同组用户 o:表示其它用户 opt则是代表作,可以为: -:取消某个权限 =:赋予给定的权限,并取消原有的权限 而mode则代表权限: r:可读 x:可执行 8.启动jboss服务 net start J这里的profile可以是定义在settings.xml中的,也可以是定义在pom.xml中的。这个时候如果我们需要指定profileTest1为激活状态,那么我们就可以在settings.xml中定义activeProfiles,具体定义如下:Boss
9.跨拷贝文件(怎样把共享盘的文件拷贝到linux本机里) 跨拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹tempA拷贝到 目标10.127.40.25 的 /tmp/wang/文件夹下 scp -r /tmp/tempA/ wasadmin@10.127.40.25:/tmp/wang/ 其中wasadmin是目标的用户名,执行命令提示输入密码,然后输入密码即可 ----------------------拷贝文件---------------------------------------------- 把当前文件tempA.txt拷贝到 目标10.127.40.25 的 /tmp/wang/文件夹下 scp /tmp/tempA.txt wasadmin@10.127.40.25:/tmp/wang/ 其中wasadmin是目标的用户名,执行命令提示输入密码,然后输入密码即可linux下使用men-assembly打一个可运行的jar包
上面的情况就是根据作系统的类型来激活profileTest1。linux系统下安装Men报错如下怎么解决
Linux下tomcat部署war包
w:可写linux下怎么样设置ssh无密码登录
还是不行的话,执行下面,重启一下ssh服务idea编译和men编译的区别
a:表示所有用户谁知道软件测试工程师笔试linux时,有哪些面试题目?
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。