Intellij - 在wildfly上部署抛出异常java.nio.file.NoSuchFileException

时间:2015-11-03 03:25:35

标签: java maven intellij-idea wildfly-8

我是maven和wildfly的新手,所以我不确定我是否正确设置了所有内容。我正在使用intellij 14社区版。

我有一个像plow文件一样的maven项目,如bellow:

<project>
   <modelVersion>4.0.0</modelVersion>
   <groupId>root</groupId>
   <version>1.0</version>
   <artifactId>project</artifactId>
   <packaging>pom</packaging>
   <name>project</name>
   <modules>
      <module>projects</module>
      <module>primary-source</module>
      <module>servlets</module>
      <module>ejbs</module>
      <module>ear</module>
   </modules>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.target>1.8</maven.compiler.target>
      <maven.compiler.source>1.8</maven.compiler.source>
   </properties>
   <repositories>
      <repository>
         <id>JBoss Repository</id>
         <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      </repository>
      <repository>
         <id>Junit Repository</id>
         <url>http://mvnrepository.com/artifact/junit/junit/4.11</url>
      </repository>
   </repositories>

   <build>
      <finalName>${project.artifactId}</finalName>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>versions-maven-plugin</artifactId>
               <version>2.2</version>
            </plugin>
            <plugin>
               <groupId>org.wildfly.plugins</groupId>
               <artifactId>wildfly-maven-plugin</artifactId>
               <version>1.1.0.Alpha4</version>
               <configuration>
                  <port>9991</port>
                  <skip>false</skip>
               </configuration>
               <executions>
                  <execution>
                     <goals>
                     <goal>deploy</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.18.1</version>
            </plugin>
         </plugins>
      </pluginManagement>
   </build>
   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.jboss.spec</groupId>
            <artifactId>jboss-javaee-7.0</artifactId>
            <version>1.0.0.Final</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>
         <dependency>
            <groupId>root.project.projects</groupId>
            <artifactId>logging</artifactId>
            <version>1.0</version>
         </dependency>
         <dependency>
            <groupId>root.project</groupId>
            <artifactId>primary-source</artifactId>
            <version>1.0</version>
         </dependency>
         <dependency>
            <groupId>root.project.servlets</groupId>
            <artifactId>servlet</artifactId>
            <version>1.0</version>
            <type>war</type>
         </dependency>
         <dependency>
            <groupId>root.project</groupId>
            <artifactId>ejbs</artifactId>
            <version>1.0</version>
            <type>ejb</type>
         </dependency>
      </dependencies>
   </dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.11</version>
      </dependency>
      <dependency>
         <groupId>javax.ws.rs</groupId>
         <artifactId>javax.ws.rs-api</artifactId>
         <version>2.0</version>
      </dependency>
      <dependency>
         <groupId>org.jboss.spec.javax.ejb</groupId>
         <artifactId>jboss-ejb-api_3.2_spec</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.hibernate.javax.persistence</groupId>
         <artifactId>hibernate-jpa-2.1-api</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>javax.enterprise</groupId>
         <artifactId>cdi-api</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.spec.javax.annotation</groupId>
         <artifactId>jboss-annotations-api_1.2_spec</artifactId>
         <scope>provided</scope>
      </dependency>
      <!-- Import the Servlet API -->
      <dependency>
         <groupId>org.jboss.spec.javax.servlet</groupId>
         <artifactId>jboss-servlet-api_3.1_spec</artifactId>
         <scope>provided</scope>
      </dependency>

   </dependencies>
</project>

我能够成功构建maven应用程序但是当我在Intellij终端视图中键入“mvn wildfly:deploy”时会出现问题。然后我收到以下错误。

Error executing FORCE_DEPLOY
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
        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:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        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)
Caused by: org.wildfly.plugin.common.DeploymentExecutionException: Error executing FORCE_DEPLOY
        at org.wildfly.plugin.deployment.standalone.StandaloneDeployment.execute(StandaloneDeployment.java:175)
        at org.wildfly.plugin.deployment.AbstractDeployment.executeDeployment(AbstractDeployment.java:138)
        at org.wildfly.plugin.deployment.AbstractDeployment.doExecute(AbstractDeployment.java:163)
        at org.wildfly.plugin.deployment.AbstractAppDeployment.doExecute(AbstractAppDeployment.java:70)
        at org.wildfly.plugin.deployment.AbstractDeployment.execute(AbstractDeployment.java:128)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 20 more
Caused by: java.nio.file.NoSuchFileException: C:\YAS\behind-the-scene\yas-mapp\target\project.maven-project
        at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
        at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)
        at java.nio.file.Files.newByteChannel(Files.java:361)
        at java.nio.file.Files.newByteChannel(Files.java:407)
        at java.nio.file.Files.readAllBytes(Files.java:3152)
        at org.wildfly.plugin.deployment.standalone.StandaloneDeployment.addContent(StandaloneDeployment.java:191)
        at org.wildfly.plugin.deployment.standalone.StandaloneDeployment.createDeployOperation(StandaloneDeployment.java:201)
        at org.wildfly.plugin.deployment.standalone.StandaloneDeployment.execute(StandaloneDeployment.java:136)
        ... 26 more

我知道目标文件夹丢失了,但我无法弄清楚原因。我想在一个干净的安装命令之后应该创建目标文件。有人能帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的 / target 目录丢失了,因为您在父pom的上下文中运行了deployer插件,打包标记设置为 pom 。该插件不知道您要部署的模块。如果您希望将所有模块部署为一个应用程序,可能您应该创建另一个模块,其中将创建和部署包含所有模块的包。