简体   繁体   English

运行mvn jetty:run时编译失败

[英]Compilation failure when runs mvn jetty:run

I have tried to implement a simple chat application using Java and Jetty. 我试图使用Java和Jetty实现一个简单的聊天应用程序。 I have followed all steps given below blog post. 我已按照以下博客文章中给出的所有步骤进行操作。

Blog Post 博客文章

When I try to run mvn jetty:run I am getting below error: 当我尝试运行mvn jetty:run时,出现以下错误:

[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

I have shared Java and Maven version that I have used below: 我已经共享了下面使用的Java和Maven版本:

  • Apache Maven 3.0.5 Apache Maven 3.0.5

  • Maven home: /usr/share/maven Maven主页:/ usr / share / maven

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

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

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

  • OS name: "linux", version: "3.13.0-76-generic", arch: "amd64", family: "unix" 操作系统名称:“ linux”,版本:“ 3.13.0-76-generic”,拱门:“ amd64”,家族:“ unix”

Here You can find pom.xml below. 在这里,您可以在下面找到pom.xml。

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

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 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>

Can anyone please help me to figure out what went wrong? 谁能帮我找出问题所在吗?

PS - I am using IntelliJ Idea 14.1.3 PS-我正在使用IntelliJ Idea 14.1.3

As per request I have shared the error I got when I update the pom.xml as mentioned in answer. 根据请求,我共享了我在回答中提到的更新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)

Add this to your Maven's pom.xml (or replace it if you already have the compiler section) 将此添加到您的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>

===Update:=== To Starting Jetty in a different port, update your jetty-maven-plugin to something like this: ===更新:===要在其他端口启动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>

You have got this error because Maven default is using JDK1.3 for the project compilation or building. 由于Maven默认将JDK1.3用于项目编译或构建,因此出现了此错误。 Since JDK1.3 is not support annotation, if your project has annotation, you need to configure your Maven to use the latest JDK version. 由于JDK1.3不支持注释,因此,如果您的项目具有注释,则需要将Maven配置为使用最新的JDK版本。

As suggested above, you need to tell maven to run the latest version of JDK you have. 如上所述,您需要告诉Maven运行最新版本的JDK。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM