相关疑难解决方法(0)

Maven错误:也许你是在运行JRE而不是运行JDK?

我以前从未和Maven合作过,我遵循这里的说明.当我运行命令

mvn integration-test -Pamp-to-war
Run Code Online (Sandbox Code Playgroud)

它最初下载了一大堆依赖项,最后它表明,

COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
Run Code Online (Sandbox Code Playgroud)

我在ubuntu 13.04.

如果你有什么要我告诉你的,请告诉我.谢谢.

编辑

我什么时候echo $JAVA_HOME得到/usr/lib/jvm/java-7-openjdk-i386/

当我做 mvn -version

我明白了

Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-i386/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-26-generic", arch: "i386", family: "unix"
Run Code Online (Sandbox Code Playgroud)

另外,我发现了 …

java compiler-errors maven

52
推荐指数
8
解决办法
17万
查看次数

Maven指向JRE而不是jdk

我一直在与一位同事一起解决我刚刚加入的一个新项目遇到的问题.长话短说,maven没有正确构建我的.war文件.当我给我的同事我的战争文件时,他遇到了同样的问题,当他给我他编译的.war文件时,一切正常.我们都在使用相同的来源.所以,我正在尝试正确设置maven(与他相同),我们现在都拥有相同版本的maven.但是,我认为maven正在错误地查看java_home.

当我执行mvn -version命令时,我得到以下内容:

C:\java\KME_workspace\CU-KME>mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: C:\java\tools\apache-maven-3.0.4
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: C:\java\jdks\jdk1.6.0_45\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Run Code Online (Sandbox Code Playgroud)

我的系统的JAVA_HOME变量正确设置为C:\ java\jdks\jdk1.6.0_45.

任何人都知道我的maven正在看jre,我该如何正确地将它设置回JDK?我也可能正确地看待这个问题,所以如果你有任何想法,那就太好了.

谢谢.


正如一些人所指出的那样,在maven版本的java家中的JRE引用是我的一个红鲱鱼兔洞.经过进一步测试,我有一些新的有趣信息.我直接从命令行运行maven命令.我使用eclipse从我们的svn存储库中检出代码,并尝试在该代码上运行maven包,并且.war无法正确构建.但是,如果我在eclipse中将团队导出到新目录,并在其上运行maven包,它会构建.war罚款并且工作正常.据我了解,eclipse中的团队导出会删除导出目录中的所有subversion文件.任何人对如何解决这个问题都有任何想法?

java maven

16
推荐指数
1
解决办法
5万
查看次数

在OS X上运行Maven时$ {java.home}会发生变化

这似乎是我在Linux或Windows机器上看不到的问题.我的环境设置JAVA_HOME来自/ usr/libexec/java_home.这是在我的.bashrc文件中:

export JAVA_HOME=$(/usr/libexec/java_home -version 1.7)
Run Code Online (Sandbox Code Playgroud)

这导致:

~/dev/Endeavor/endeavor-sdk$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

但是,当我在我的项目上运行Maven时,我从native2ascii插件中收到错误:

[ERROR] Failed to execute goal org.codehaus.mojo:native2ascii-maven-plugin:1.0-alpha-2-SNAPSHOT:native2ascii (default) on project dataAccessServices: Error starting Sun's native2ascii: -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我的调查指出我使用的是JRE而不是JDK.这很奇怪,因为我清楚地指向JAVA_HOME变量中的JDK .但是,这是mvn -version的输出:

~/dev/Endeavor/endeavor-sdk$ mvn -version
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: /usr/share/maven
Java version: 1.7.0_17, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.7.5", arch: "x86_64", family: "mac"
Run Code Online (Sandbox Code Playgroud)

请注意,"Java home:"行表示$ {java.home}变量已移至JRE而不是JAVA_HOME …

java macos maven osx-lion

6
推荐指数
1
解决办法
684
查看次数

Maven:缺少工件com.sun:tools:jar:POM.xml中的1.6.0编译时异常

当我尝试为工具添加依赖性时,我得到一个奇怪的问题并在我的pom.xml中获得编译时异常.jar显示如下(Missing artifact com.sun:tools:jar:1.6.0)

问题

我已将JAVA_HOME变量设置如下:

JAVA_HOME:C:\ Program Files\Java\jdk1.6.0_34

当我将它硬编码到JDK1.6的实际路径时,我没有发现任何错误,如下所示.

 <dependency>
   <groupId>com.sun</groupId>
   <artifactId>tools</artifactId>
   <version>1.6.0</version>
   <scope>system</scope>
   <systemPath>C:\Program Files\Java\jdk1.6.0_34\lib\tools.jar</systemPath>
 </dependency>
Run Code Online (Sandbox Code Playgroud)

但我知道这不是好习惯.请求解决此错误的指导.

java maven-2 pom.xml maven-3 maven

5
推荐指数
1
解决办法
4万
查看次数

Mac 上的 Maven 和 JDK 1.7

当我尝试使用 Maven 编译项目时,出现以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project webserverlog: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project webserverlog: Compilation failure
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Run Code Online (Sandbox Code Playgroud)

我的 JAVA_HOME 指向 JDK:

$ echo $JAVA_HOME
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

$ $JAVA_HOME/bin/javac -version
javac …
Run Code Online (Sandbox Code Playgroud)

java macos maven-3 java-7

4
推荐指数
1
解决办法
6546
查看次数

标签 统计

java ×5

maven ×4

macos ×2

maven-3 ×2

compiler-errors ×1

java-7 ×1

maven-2 ×1

osx-lion ×1

pom.xml ×1