maven日常问题

问题1 jdk配置打包报错问题

maven打包报错如下

‘dependencyManagement.dependencies.dependency.systemPath’ for jdk.tools:jdk.tools:jar must specify an absolute path but is ${JAVA_HOME}/lib/tools.jar @ com.....mservice-two:parent:2.0.3-SNAPSHOT, /Users/gallant/Documents/git_repo/.../mservice-two/fortune-service/fortune-parent/D:/Applications/apache-maven-3.5.0/conf/repository/com/.../mservice-two/parent/2.0.3-SNAPSHOT/parent-2.0.3-SNAPSHOT.pom, line 193, column 17

问题原因

systemPath配置必须为决定路径,但是我们配置是绝对路径:${JAVA_HOME}/lib/tools.jar。为什么会报错?
问题出在maven打包时此时是读取的自身内置变量,并非系统变量,所以没能识别${JAVA_HOME}变量

问题解决

  1. 修改为绝对路径
  2. 使用maven的内置变量读取Java的home目录,即将${JAVA_HOME}替换为${java.home}
  3. 通过正确的配置方式读取系统变量即将${JAVA_HOME}替换为${env.JAVA_HOME}

jdk配置在父pom中怎么解?

通过自定义变量方式传给maven

mvn clean package -DskipTests -s "/Users/gallant/Applications/apache-maven-3.6.3/conf/settings-dwd.xml" -DJAVA_HOME=/

配置setting.xml全局变量

只需要将JAVA_HOME追加到已激活的配置中即可

	<profile>
		<id>jdk-1.8</id>
		<activation>
			<activeByDefault>true</activeByDefault>
			<jdk>1.8</jdk>
		</activation>
		<properties>
			<maven.compiler.source>1.8</maven.compiler.source>
			<maven.compiler.target>1.8</maven.compiler.target>
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
			<JAVA_HOME>/home</JAVA_HOME>
		</properties>
	</profile>

问题2 加载依赖慢问题

刷新依赖阻塞在下面的日志

[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:3.2.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:3.2.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] 
[INFO] 
[INFO] --- maven-archetype-plugin:3.2.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode

解决办法
Maven Runner中的VM参数增加下方的配置

-DarchetypeCatalog=internal

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值