Eclipse构建战争成功,但Maven命令canot
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse构建战争成功,但Maven命令canot相关的知识,希望对你有一定的参考价值。
我在Java 8 JDK上编写Java 7代码
mvn clean install
它显示错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project foo: Compilation failure: Compilation failure:
[ERROR] /E:/bar/XmlUtils.java:[9,44] package com.sun.xml.internal.bind.marshaller does not exist
[ERROR] /E:/bar/XmlUtils.java:[11,34] cannot find symbol
[ERROR] symbol: class CharacterEscapeHandler
[ERROR] /E:/.../FooServiceImpl.java:[106,44] package com.sun.xml.internal.bind.marshall
这是代码行生成错误
CharacterEscapeHandler.class.getName()
Maven找不到import com.sun.xml.internal.bind.marshaller.CharacterEscapeHandler;
Maven找不到CharacterEscapeHandle
。怎么解决?
但是当我构建,打包,运行Eclipse Neon时,没问题。怎么解决?
答案
通常,您不应使用com.sun.xml.internal包中的任何代码。这故意失败。这里有更多细节:https://bugs.java.com/bugdatabase/view_bug.do;jsessionid=1711ee4eae3ff10565fc7a212018?bug_id=6778491
另一答案
这是临时解决方案
<dependency>
<groupId>sun.jdk</groupId>
<artifactId>rt.jar</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<fork>true</fork>
<compilerArgument>-XDignore.symbol.file</compilerArgument>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Maven建立成功。
以上是关于Eclipse构建战争成功,但Maven命令canot的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot:无法与maven创建战争:无法找到主类
我可以从 Eclipse 使用 Maven,但不能从命令行使用
在 Maven 中成功构建仍然在 Eclipse 中显示错误