Maven内置变量

1、Maven内置变量说明:

  • ${basedir} 项目根目录
  • ${project.build.directory} 构建目录,缺省为target
  • ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
  • ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
  • ${project.packaging} 打包类型,缺省为jar
  • ${project.xxx} 当前pom文件的任意节点的内容

2、一些命令:

  • 生成eclipse工程文件:mvn eclipse:clean eclipse:eclipse -DdownloadSources
  • 如果执行单元测试出错,用该命令可以在console输出失败的单元测试及相关信息:mvn -Dsurefire.useFile=false
  • 有时候,希望在mvn install时,对项目中的单元测试进行调试,使用该命令:mvn install -Dmaven.surefire.debug 。在使用该命令前,在你将要调试的代码中设置好断点,然后运行该命令。该命令执行一会之后,它的build过程会显示信息:Listening for transport dt_socket at address : 5005 。看到这个提示信息之后,在eclipse中,在Debug Configuration窗口,新建Remote Java Application,port设置为5005,然后点击“debug”按钮。之后,刚才的mvn命令将继续往下执行,直到运行到有断点的代码,则停留下来,这时在eclipse中可以调试运行的代码。

3. maven jetty 插件的一些命令:(资料:http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin

  • 启动:mvn jetty:run    默认的端口号是8080。
  • 启动时,设置端口号: mvn -Djetty.port=9999 jetty:run
  • debug的方式启动:mvnDebug jetty:run    启动之后,会显示具体的debug端口

4.  某些工程有pom.xml文件, 但是工程显示不是maven工程。  此时需要执行pom命令, 首先在工程上右键→「maven」→「Enable Dependency Management」 将工程变为maven工程。 然后执行POM指令。

转载于:https://www.cnblogs.com/onmyway20xx/p/4095570.html

package com.ksyun.train.plugins; import com.sun.tools.javac.util.List; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.util.FileUtils; import java.io.File; import java.io.IOException; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; // ⽬标名统⼀为bootJar @Mojo(name="bootJar") public class BootJarMojo extends AbstractMojo { // 可⾃由获取maven内置变量 @Parameter(defaultValue = "${settings.localRepository}", required = true) private String localRepository; // 接收通过命令mvn -Dmain.class=com.ksyun.train.App传递的参数, 请勿修改参数名 @Parameter(property = "main.class", required = true) private String mainClass; // maven项⽬信息,需要的数据基本都可以从此对象中获取, // 请⾃⾏调试打印观察project信息,开发过程中可利⽤json⼯具打印该对象信息 @Component protected MavenProject project; // 请实现插件的核⼼逻辑⽅法execute public void execute() throws MojoFailureException { getLog().info("project localRepository is " + localRepository); File baseDir = project.getBasedir(); getLog().info("project base dir is " + baseDir); String artifactId = project.getArtifactId(); String version = project.getVersion(); File targetDirectory = new File(baseDir, "target"); File classesDirectory = new File(targetDirectory, "classes"); getLog().info("project classes dir is " + classesDirectory.getAbsolutePath()); // get project dependency jars, ignore dependency transfer, only one demo // 获取项目依赖的jar包文件 List<File> dependencyFiles = (List<File>) project.getDependencyArtifacts() .stream() .map(Artifact::getFile) .filter(Objects::nonNull) .collect(Collectors.toList()); } }
07-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值