运行mvn jetty时编译失败:运行

时间:2016-02-01 17:21:13

标签: java intellij-idea jetty maven-3

我尝试使用Java和Jetty实现一个简单的聊天应用程序。我已经按照博客文章中的所有步骤进行了操作。

Blog Post

当我尝试运行mvn jetty时:运行我得到以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project sample_application: Compilation failure
[ERROR] /home/rajee/Documents/techZHomeSample/src/main/java/ToUpper356Socket.java:[12,1] error: annotations are not supported in -source 1.3
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我已经共享了我在下面使用的Java和Maven版本:

  • Apache Maven 3.0.5

  • Maven home:/ usr / share / maven

  • Java版本:1.7.0_03,供应商:Oracle Corporation

  • Java home:/usr/local/jdk1.7.0_03/jre

  • 默认语言环境:en_US,平台编码:UTF-8

  • 操作系统名称:" linux",版本:" 3.13.0-76-generic",arch:" amd64", 家庭:" unix"

您可以在下面找到pom.xml。

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd">     4.0.0

<groupId>com.tech</groupId>
<artifactId>sample_application</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
    <jetty.version>9.2.11.v20150529</jetty.version>
</properties>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>${jetty.version}</version>
        </plugin>
    </plugins>


</build>

<dependencies>
    <!--Jetty dependencies start here -->
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${jetty.version}</version>
    </dependency>

    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${jetty.version}</version>
    </dependency>
    <!--Jetty dependencies end here -->

    <!--Jetty Websocket server side dependencies start here -->



    <!--Jetty JSR-356 Websocket server side dependency -->
    <dependency>
        <groupId>org.eclipse.jetty.websocket</groupId>
        <artifactId>javax-websocket-server-impl</artifactId>
        <version>${jetty.version}</version>
    </dependency>

    <!--Jetty Websocket API server side dependency -->
    <!--<dependency>-->
        <!--<groupId>org.eclipse.jetty.websocket</groupId>-->
        <!--<artifactId>websocket-server</artifactId>-->
        <!--<version>${jetty.version}</version>-->
    <!--</dependency>-->


    <!--Jetty Websocket server dependencies end here -->

    <!--Jetty Websocket client side dependencies start here -->



    <!--JSR-356 Websocket client side depencency  -->
    <dependency>
        <groupId>org.eclipse.jetty.websocket</groupId>
        <artifactId>javax-websocket-client-impl</artifactId>
        <version>${jetty.version}</version>
    </dependency>

    <!--Jetty Websocket API client side dependency -->
    <!--<dependency>-->
        <!--<groupId>org.eclipse.jetty.websocket</groupId>-->
        <!--<artifactId>websocket-client</artifactId>-->
        <!--<version>${jetty.version}</version>-->
    <!--</dependency>-->
    <!--Jetty Websocket client side  dependencies end here -->

</dependencies>

任何人都可以帮我弄清楚出了什么问题吗?

P.S - 我正在使用IntelliJ Idea 14.1.3

根据请求,我已经分享了我在更新pom.xml时遇到的错误,如回答中所述。

java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:344)
    at sun.nio.ch.Net.bind(Net.java:336)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:199)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.maven.plugin.MavenServerConnector.doStart(MavenServerConnector.java:120)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.server.Server.doStart(Server.java:366)
    at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:73)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:534)
    at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:357)
    at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

2 个答案:

答案 0 :(得分:0)

将其添加到Maven的pom.xml中(如果已有编译器部分,则将其替换)

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.5</version>
      <configuration>
        <source>1.7</source>
        <target>1.7</target>
      </configuration>
    </plugin>
    ...
  </plugins>
  ...
</build>

===更新:=== 要在另一个端口启动Jetty,请将您的jetty-maven-plugin更新为以下内容:

  <plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>${jetty.version}</version>
    <configuration>
      <httpConnector>
        <port>8081</port>
      </httpConnector>
    </configuration>
  </plugin>

答案 1 :(得分:0)

您遇到此错误,因为Maven默认使用JDK1.3进行项目编译或构建。由于JDK1.3不支持注释,如果您的项目有注释,则需要将Maven配置为使用最新的JDK版本。

如上所述,您需要告诉maven运行您拥有的最新版本的JDK。