maven项目如果用到JDK内部的一些类,接口(例如: com.sun.xml.internal.ws.developer.JAXWSProperties)等的时候,用maven编译可能会出现如下错误:
ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/imac/projects/gps/gts/gts-base/src/main/java/xxx.java:[25,41] 程序包com.sun.xml.internal.ws.developer不存在
[INFO] 1 error
这时候需要在编译的时候引入jdk的rt.jar包:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<compilerArguments>
<bootclasspath>${java.home}/lib/rt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
如果引用多个jar需要使用;(windows)或者:(macos)来分割,如果这样设置的话,多个平台下开发会很不方便,可以使用变量path.separator代替:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<compilerArguments>
<bootclasspath>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>