我有一个新项目,我想从Maven运行Wildfly。
命令:mvn wildfly:run
我想要发生的事情是,maven会将我的项目打包到WAR文件,启动Wildfly,然后部署它。
问题是它第一次运行时有效。它正在下载Wildfly,构建和部署POM文件。 如果我停止Wildfly,并使用相同的命令再次启动它,我会得到一个FileNotFoundException和Access被拒绝的消息(见下文)。奇怪的是,我将这个小项目从另一台计算机上复制过来,它一直在那里工作。我也尝试制作一个新项目,但仍然遇到同样的错误。
例外:
[INFO] -------------------------------------------------- ---------------------- [INFO] BUILD FAILURE [INFO] -------------------------------------------------- ---------------------- [INFO]总时间:53.197 s [INFO]完成于: 2016-05-02T16:23:11 + 02:00 [INFO]最终记忆:19M / 212M [INFO] -------------------------------------------------- ---------------------- [错误]无法执行目标 org.wildfly.plugins:wildfly - Maven的插件:1.1.0.Alpha7:运行 项目new-test上的(default-cli):服务器无法启动: 部署失败:操作失败:{" WFLYCTL0062:复合 操作faile d并被回滚。失败的步骤:" => {"操作步骤-2" => {" WFLYCTL0080:服务失败" => {" jboss.undertow.deployment.default-server.default-host./pg" => 服务jboss.undert中的#g; org.jboss.msc.service.StartException ow.deployment.default-server.default-host./pg: java.lang.RuntimeException:java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException:javax.faces.FacesException: java.io.File NotFoundException:D:\ Skole \ New 文件夹\目标\ wildfly运行\ wildfly-10.0.0.Final \独立\ tmp目录\ VFS \ TEMP \ tempf818abf44afbab25 \内容393c76ecb03dd1d6 \内容30131585882030325.tmp (访问被拒绝)[错误]引起:java.lang.RuntimeException: 了java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException:javax.faces.FacesException: java.io.FileNotFoundException:D:\ Skole \ New 文件夹\目标\ wildfly运行\ wildfly-10.0.0.Final \独立\ tmp目录\ VFS \ TEMP \ tempf818abf44afbab25 \内容393c76ecb03dd1d6 \内容30131585882030325.tmp (访问被拒绝)[错误]引起:java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException:javax.faces.FacesException: java.io.FileNotFoundException:D:\ Skole \ New folder \ target \ wildfl Y型运行\ wildfly-10.0.0.Final \独立\ tmp目录\ VFS \ TEMP \ tempf818abf44afbab25 \内容393c76ecb03dd1d6 \内容30131585882030325.tmp (访问被拒绝)[错误]引起: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException:javax.faces.FacesException: java.io.FileNotFoundException:D:\ Skole \ New 文件夹\目标\ wildfly运行\ wildfly-10.0.0.Final \ \独立\ tmp目录\ VFS \ TEMP \ tempf818abf44afbab25 \内容393c76ecb03dd1d6 \内容30131585882030325.tmp (访问被拒绝)[错误]引起: java.util.concurrent.ExecutionException:javax.faces.FacesException: java.io.FileNotFoundException:D:\ Skole \ New 文件夹\目标\ wildfly运行\ wildfly-10.0.0.Final \独立\ tmp目录\ VFS \ TEMP \ tempf818abf44afb ab25 \ content-393c76ecb03dd1d6 \ content-30131585882030325.tmp(Access 被拒绝)[错误]引起:javax.faces.FacesException: java.io.FileNotFoundException:D:\ Skole \ New 文件夹\目标\ wildfly运行\ wildfly-10.0.0.Final \独立\ TMP \ VFS \ TEMP \ tempf818abf44afbab25 \内容393c76ecb03dd1d6 \内容-3- 0131585882030325.tmp(访问被拒绝)[错误]引起:java.io.FileNotFoundException:D:\ Skole \ New 文件夹\目标\ wildfly运行\ wildfly-10.0.0.Final \独立\ tmp目录\ VFS \ TEMP \ tempf818abf44afbab25 \内容393c76ecb03dd1d6 \内容30131585882030325.tmp (访问被拒绝)"}}}} [错误] - > [帮助1] [错误] [错误]要查看 错误的完整堆栈跟踪,使用-e开关重新运行Maven。 [ERROR]使用-X开关重新运行Maven以启用完整的调试日志记录。 [ERROR] [ERROR]有关错误和可能的更多信息 解决方案,请阅读以下文章:[错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
POM文件:
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<groupId>new.test</groupId>
<artifactId>new-test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-7.0</artifactId>
<version>1.0.3.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>4.1.1</version>
<scope>test</scope>
</dependency>
<!-- JEE for WildFly -->
<dependency>
<groupId>org.jboss.spec.javax.faces</groupId>
<artifactId>jboss-jsf-api_2.2_spec</artifactId>
</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>
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
<artifactId>jboss-servlet-api_3.1_spec</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>pg</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.1.0.Alpha7</version>
<configuration>
<add-user>
<users>
<user>
<username>admin</username>
<password>admin</password>
</user>
</users>
</add-user>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
有人有什么想法吗?我在两台计算机上运行Windows 10。
答案 0 :(得分:1)
如果您有配置,请将其从配置中移除
<extension module="org.jboss.as.jsf"/>
<subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
答案 1 :(得分:1)
读取堆栈跟踪真的很难,但看起来启动WildFly的用户没有对WildFly安装的正确访问权限。用户需要读/写访问权。
<scope>provided</scope>
也应为<dependency>
<groupId>org.jboss.spec.javax.faces</groupId>
<artifactId>jboss-jsf-api_2.2_spec</artifactId>
<scope>provided</scope>
</dependency>
。
{ field: "Amount", title: "Balance", format: "{0:c}", attributes: { style: "text-align: right;" }, template: "<font class='#if(Amount < 0) {# negative_field #} else {# positive_field #}'></font>" },
答案 2 :(得分:0)
供将来参考:
我尝试从配置文件中删除这些行:
permanent
我从<extension module="org.jboss.as.jsf"/>
<subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
删除了它们。
这似乎没有帮助。
我还将项目从Standalone/configuration/standalone.xml
移到D:
。它似乎工作了一些时间。但有时我也得到了错误消息。但值得一试,如果有人遇到同样的问题。
我认为它的工作原理是通过修复我的POM文件,正如在接受的答案中所建议的那样。 我不知道是否只有这一点才能修复它,但我想是的。
如果某人有同样的问题,并且POM文件缺少范围,那么我建议删除wildfly,并在修复POM文件后让maven再次安装它。
答案 3 :(得分:0)
请在这篇文章中查看Filipe P Goes的回答: Wildfly fails to deploy application (FileNotFoundException - Access is Denied) 只需将wildfly文件夹添加到windows antivirus / defender
的排除列表中