maven编译过程中遇的相关问题
来源:互联网 发布:mac win7 编辑:程序博客网 时间:2024/06/05 01:41
公司maven项目之前一直打包正常,但是今天编译时确出现了 出现致命错误: 在类路径或引导类路径中找不到程序包 java.lang
网上搜索一番,看到了这篇文单,受文章启发,搜索了项目pom.xml文件,细查看原来是有一个同事新增加了配置,但是配置有问题导致
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<showWarnings>true</showWarnings>
<compilerArguments>
<verbose />
<bootclasspath>${java.home}/lib/rt.jar:${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<showWarnings>true</showWarnings>
<compilerArguments>
<verbose />
<bootclasspath>${java.home}/lib/rt.jar:${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
是一个细节错误,把本改是 分号 ; 写成了冒号:
引用地址:http://www.blogjava.net/wangxunhua/archive/2016/01/11/429000.aspx
pom.xml中的java.home变量(eclipse默认的java.home变量)
说说最近发现在的一个问题.
关于java.home这个变量
本机环境变量:
JAVA_HOME = C:\Java\jdk17045
eclipse Version: Mars.1 Release (4.5.1)
关于java.home这个变量
本机环境变量:
JAVA_HOME = C:\Java\jdk17045
eclipse Version: Mars.1 Release (4.5.1)
来由0:
来由一:
使用maven编译的时候出现如下错误:
解决办法:
修改pom.xml在开发环境的编译插件里面作如下配置:
来由二:
修改了如上之后,提交到仓库会有问题,每个coder的java.home路径都不一样,造成仓库的配置文件经常会冲突.
解决办法:
去掉<java.home>C:\Java\jdk17045</java.home>配置.
这时java.home变量继承自eclipse的java.home配置.从pom.xml文件的Effective POM可以查看到java.home变量被替换了.
来由三:
运行maven builde 命令,出现致命错误: 在类路径或引导类路径中找不到程序包 java.lang
解决办法:
从pom.xml文件的Effective POM可以查看到java.home变量被替换了成了:
通过修改eclipse.ini文件,在第一行加入如下:-vm
C:\Java\jdk17051\bin\
eclipse默认的环境变量变成:
maven-install时出现这错误:
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
解决办法:
window->Preference->Installed JREs,添加一个jdk配置(非JRE路径).
并且在Builder Path里面更改JRE System Liberary为jdk配置.
解决办法:
window->Preference->Installed JREs,添加一个jdk配置(非JRE路径).
并且在Builder Path里面更改JRE System Liberary为jdk配置.
来由一:
使用maven编译的时候出现如下错误:
[ERROR] /E:/workspace/wxis1.5/src/main/java/com/bd/MultDBPool/RhipDBManager.java:[27,31] 程序包com.sun.istack.internal不存在
[ERROR] /E:/workspace/wxis1.5/src/main/java/com/web/bd/weixin/util/RandomValidateCode.java:[13,32] 程序包com.sun.image.codec.jpeg不存在
这是由于我们的项目框架里面使用了这几个内部类.[ERROR] /E:/workspace/wxis1.5/src/main/java/com/web/bd/weixin/util/RandomValidateCode.java:[13,32] 程序包com.sun.image.codec.jpeg不存在
解决办法:
修改pom.xml在开发环境的编译插件里面作如下配置:
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<package.environment>dev</package.environment>
<java.home>C:\Java\jdk17045</java.home>
</properties>
......<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<package.environment>dev</package.environment>
<java.home>C:\Java\jdk17045</java.home>
</properties>
<!-- 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<bootclasspath>${java.home}\jre\lib\rt.jar;${java.home}\jre\lib\charsets.jar;${java.home}\jre\lib\jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
......<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<bootclasspath>${java.home}\jre\lib\rt.jar;${java.home}\jre\lib\charsets.jar;${java.home}\jre\lib\jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
来由二:
修改了如上之后,提交到仓库会有问题,每个coder的java.home路径都不一样,造成仓库的配置文件经常会冲突.
解决办法:
去掉<java.home>C:\Java\jdk17045</java.home>配置.
这时java.home变量继承自eclipse的java.home配置.从pom.xml文件的Effective POM可以查看到java.home变量被替换了.
来由三:
运行maven builde 命令,出现致命错误: 在类路径或引导类路径中找不到程序包 java.lang
解决办法:
从pom.xml文件的Effective POM可以查看到java.home变量被替换了成了:
<compilerArguments>
<bootclasspath>C:\Java\jre7\jre\lib\rt.jar;C:\Java\jre7\jre\lib\charsets.jar;C:\Java\jre7\jre\lib\jce.jar</bootclasspath>
</compilerArguments>
这个路径多了一层jre目录,因为依赖的是java.home路径.去掉\jre这一层路径即可.
问题在这里,为什么eclipse的java.home变量是C:\Java\jre7\,默认加载的是jre目录,而不是我的jdk目录.
eclipse的java.home路径在help->about eclipse->Installation Details->configuration页可以找到如下:
<bootclasspath>C:\Java\jre7\jre\lib\rt.jar;C:\Java\jre7\jre\lib\charsets.jar;C:\Java\jre7\jre\lib\jce.jar</bootclasspath>
</compilerArguments>
这个路径多了一层jre目录,因为依赖的是java.home路径.去掉\jre这一层路径即可.
问题在这里,为什么eclipse的java.home变量是C:\Java\jre7\,默认加载的是jre目录,而不是我的jdk目录.
eclipse的java.home路径在help->about eclipse->Installation Details->configuration页可以找到如下:
-vm
C:\Windows\system32\javaw.exe
C:\Windows\system32\javaw.exe
java.home=C:\Java\jre7
通过修改eclipse.ini文件,在第一行加入如下:-vm
C:\Java\jdk17051\bin\
eclipse默认的环境变量变成:
java.home=C:\Java\jdk17051\jre
0 0
- maven编译过程中遇的相关问题
- Maven编译打包过程(clean install)中遇到相关jdk版本导致的问题
- Maven编译过程中Java heap space问题的解决方法
- 如何解决编译过程中遇到ASN1C相关的问题
- Maven使用中相关的问题
- maven学习过程中问题的解决
- 交叉编译中libtool相关的问题
- 编译avPlayer过程中遇到的问题
- Qt编译过程中出现的问题
- 建立maven的过程中所遇到的一点问题
- maven项目的相关问题
- MAVEN使用过程中遇到的问题汇总
- maven prepare和perform使用过程中遇到的问题
- 在开发maven项目过程中遇到的问题
- Maven使用过程中遇到的问题及解决方案
- 配置eclipse maven过程中遇到的问题
- 解决eclipse中maven项目编译失败的问题
- Maven编译中Mybatis变量引起的问题及处理
- 关于myrect.origin=mypoint中调用setOrigin的问题
- Mybatis报错Could not find parameter map java.util.Map
- 浅显解释 I/O阻塞 poll epoll
- Android杂谈(20)DrawerLayout实践
- 机器视觉算法 笔记
- maven编译过程中遇的相关问题
- webView中拿到选取的文字
- Redis安装
- 精通 CSS+DIV 网页样式与布局 155
- 工具 - gson解析json
- 计算G711语音的打包长度和RTP里timestamp(时间戳)的增长量
- android udp demo
- centos 7下rabbitmq集群搭建
- Android加载进度条 (仿ios)效果