求java大神帮忙,java使用MAVEN编译时提示找不到类,但是类是属于rt.jar的

java 版本: 1.6.0_10-rc2
maven 版本: 3.0.4
maven编译插件 :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArguments>
<verbose />
<bootclasspath>${JAVA_HOME}/lib/rt.jar</bootclasspath>
</compilerArguments>
<encoding>utf8</encoding>
</configuration>
</plugin>

运行mvn clean compile后build failure,
错误原因:
ECG2ServiceImpl.java:18: package com.sun.org.apache.xml.internal.security.exceptions does not exist
ECG2ServiceImpl.java:19: package com.sun.org.apache.xml.internal.security.utils does not exist
这2个类是属于rt.jar里的,也就是JRE里的,为什么会引用不到呢?

已经尝试过在pom中添加
<compilerArguments>
<verbose />
<bootclasspath>${JAVA_HOME}/lib/rt.jar</bootclasspath>
</compilerArguments>

也没有效果,求助!

第1个回答  2015-12-15
Maven具体怎么配我不太清楚,但解决这个问题需要给javac传入“ignore.symbol.file”参数。
Ant只要在javac标签内加<compilerarg value="-XDignore.symbol.file"/> 就可以了
第2个回答  2014-09-01

追问

我也知道在rt.jar这包里面,我在环境变量里也有配JAVA_HOME,为什么maven编译引用不到呢。如我理解错误求明示,谢谢!!!

追答

你要的是哪个类?
com.sun.org.apache.xml.internal.security.exceptions是包,不是类

你看看这包下面有四个类,有你需要的吗?

追问

谢谢,有需要的,可是编译的时候说不存在。

追答

如果你有环境变量的话,是会直接加载lib中的jar的,这里不用配。

追问

这我也知道,但是问题就是出现了。

相似回答