Java Maven和Jetty在windows机器上工作,而不是在Linux上
我开发的方式是:使用EclipseMars在我的windows机器上编写代码,并使用git将repo复制到实际的web服务器上。当我进入mvn jetty:在我的windows上运行时,它工作正常,jetty启动。当我进入sudomvnjetty:runonlinux时,我得到了plugincontainereexception。我试着在Apache的支持页面上查找,但是我没有找到任何地方。这是我的pom文件Java Maven和Jetty在windows机器上工作,而不是在Linux上,java,linux,eclipse,maven,Java,Linux,Eclipse,Maven,我开发的方式是:使用EclipseMars在我的windows机器上编写代码,并使用git将repo复制到实际的web服务器上。当我进入mvn jetty:在我的windows上运行时,它工作正常,jetty启动。当我进入sudomvnjetty:runonlinux时,我得到了plugincontainereexception。我试着在Apache的支持页面上查找,但是我没有找到任何地方。这是我的pom文件 <project xmlns="http://maven.apache.org/
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>myGroupId</groupId>
<artifactId>myArtifactId</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>my name</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>repo2_maven_org</id>
<url>http://repo2.maven.org/maven2</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.3.0.v20150612</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>9.3.0.v20150612</version></dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>javax-websocket-server-impl</artifactId>
<version>9.3.0.v20150612</version></dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.0.v20150612</version></plugin></plugins></build>
</project>
修复初始错误后,我收到此错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project angular-gantt-websocket: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
关键是这个
[ERROR] Failed to execute goal org.eclipse.jetty:jetty-maven-plugin:9.3.0.v20150612:run (default-cli) on project angular-gantt-websocket: Execution default-cli of goal org.eclipse.jetty:jetty-maven-plugin:9.3.0.v20150612:run failed: Unable to load the mojo 'run' in the plugin 'org.eclipse.jetty:jetty-maven-plugin:9.3.0.v20150612' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/eclipse/jetty/maven/plugin/JettyRunMojo : Unsupported major.minor version 52.0
它说类文件是根据不同版本的Java编译的。检查您的Java运行时或JDK版本。您能包括您看到的完整异常吗?请执行以下命令:javac-version和sudo javac-versionI我太愚蠢了,我不小心安装了jre而不是JDK。我做了这件事,那件事修复了错误,但现在我得到了一个MojoFailureException,说没有编译器。也就是说,当我输入mvn-version时,它说我已经让JDK1.8.xx运行javac-version并查看安装了什么编译器。验证JAVA_HOME指向JDK安装,而不是JRE。还可以使用“whichjava”和“whichjavac”来查找和更正路径变量。
[ERROR] Failed to execute goal org.eclipse.jetty:jetty-maven-plugin:9.3.0.v20150612:run (default-cli) on project angular-gantt-websocket: Execution default-cli of goal org.eclipse.jetty:jetty-maven-plugin:9.3.0.v20150612:run failed: Unable to load the mojo 'run' in the plugin 'org.eclipse.jetty:jetty-maven-plugin:9.3.0.v20150612' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/eclipse/jetty/maven/plugin/JettyRunMojo : Unsupported major.minor version 52.0