java - 如何在 Struts 2 中将 WAR 和 JAR 文件打包成 EAR

标签 java jsp jakarta-ee struts2 jboss

我正在尝试构建一个 Struts 2 应用程序,但面临很多困难。

经过多天的研究,我成功构建了一个动态Web项目strutsJSP包含web.xml , struts.xml , .jsp , .java 。接下来,我创建了一个企业应用程序项目 earProject并包含 strutsJSP| 中的 war 文件以及 earProject 的部署是成功的。

但是,我需要将 JSP 与操作分开,因此我创建了一个 Java 项目 strutsAction并将我的操作文件移至 strutsAction并尝试部署earProject再次但这次我遇到了以下错误:

01:17:16,087 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-4) JBAS015012: Started FileSystemDeploymentService for directory /home/pktan/jboss-as-7.1.1.Final/standalone/deployments
01:17:16,105 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found ear.ear in deployment directory. To trigger deployment create a file called ear.ear.dodeploy
01:17:16,209 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "ear.ear"
01:17:16,255 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "jspProject.war"
01:17:18,372 INFO  [com.opensymphony.xwork2.config.providers.XmlConfigurationProvider] (MSC service thread 1-4) Parsing configuration file [struts-default.xml]
01:17:18,609 INFO  [com.opensymphony.xwork2.config.providers.XmlConfigurationProvider] (MSC service thread 1-4) Unable to locate configuration files of the name struts-plugin.xml, skipping
01:17:18,619 INFO  [com.opensymphony.xwork2.config.providers.XmlConfigurationProvider] (MSC service thread 1-4) Parsing configuration file [struts-plugin.xml]
01:17:18,636 INFO  [com.opensymphony.xwork2.config.providers.XmlConfigurationProvider] (MSC service thread 1-4) Parsing configuration file [struts.xml]
01:17:18,646 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for class com.opensymphony.xwork2.ObjectFactory
01:17:18,648 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for class com.opensymphony.xwork2.conversion.impl.XWorkConverter
01:17:18,652 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.TextProvider
01:17:18,653 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.ActionProxyFactory
01:17:18,654 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.conversion.ObjectTypeDeterminer
01:17:18,660 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface org.apache.struts2.dispatcher.mapper.ActionMapper
01:17:18,661 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (jakarta) for interface org.apache.struts2.dispatcher.multipart.MultiPartRequest
01:17:18,663 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for class org.apache.struts2.views.freemarker.FreemarkerManager
01:17:18,665 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface org.apache.struts2.components.UrlRenderer
01:17:18,672 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.validator.ActionValidatorManager
01:17:18,673 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.util.ValueStackFactory
01:17:18,674 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.util.reflection.ReflectionProvider
01:17:18,675 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.util.reflection.ReflectionContextFactory
01:17:18,676 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.util.PatternMatcher
01:17:18,682 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface org.apache.struts2.dispatcher.StaticContentLoader
01:17:18,684 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Choosing bean (struts) for interface com.opensymphony.xwork2.UnknownHandlerManager
01:17:18,687 INFO  [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-4) Loading global messages from ApplicationResources
01:17:18,945 ERROR [org.apache.struts2.dispatcher.Dispatcher] (MSC service thread 1-4) Dispatcher initialization failed: Unable to load configuration. - action - vfs:/home/pktan/jboss-as-7.1.1.Final/standalone/deployments/ear.ear/jspProject.war/WEB-INF/classes/struts.xml:15:39
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:436) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865) [jbossweb-7.0.13.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09-icedtea]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09-icedtea]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
Caused by: Action class [login.LoginAction] not found - action - vfs:/home/pktan/jboss-as-7.1.1.Final/standalone/deployments/ear.ear/jspProject.war/WEB-INF/classes/struts.xml:15:39
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:426) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:370) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:487) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:278) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) [xwork-core-2.3.1.2.jar:2.3.1.2]
    ... 13 more

01:17:18,956 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jspProject]] (MSC service thread 1-4) Exception starting filter struts2: Unable to load configuration. - action - vfs:/home/pktan/jboss-as-7.1.1.Final/standalone/deployments/ear.ear/jspProject.war/WEB-INF/classes/struts.xml:15:39
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:449) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:447) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865) [jbossweb-7.0.13.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09-icedtea]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09-icedtea]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
Caused by: Unable to load configuration. - action - vfs:/home/pktan/jboss-as-7.1.1.Final/standalone/deployments/ear.ear/jspProject.war/WEB-INF/classes/struts.xml:15:39
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:436) [struts2-core-2.3.1.2.jar:2.3.1.2]
    ... 11 more
Caused by: Action class [login.LoginAction] not found - action - vfs:/home/pktan/jboss-as-7.1.1.Final/standalone/deployments/ear.ear/jspProject.war/WEB-INF/classes/struts.xml:15:39
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:426) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:370) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:487) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:278) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112) [struts2-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204) [xwork-core-2.3.1.2.jar:2.3.1.2]
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) [xwork-core-2.3.1.2.jar:2.3.1.2]
    ... 13 more

01:17:18,965 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-4) Error filterStart
01:17:18,965 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-4) Context [/jspProject] startup failed due to previous errors
01:17:18,982 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.web.deployment.default-host./jspProject: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./jspProject: JBAS018040: Failed to start context
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:95)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09-icedtea]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09-icedtea]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]

01:17:18,987 INFO  [org.jboss.as] (MSC service thread 1-3) JBAS015951: Admin console listening on http://127.0.0.1:9990
01:17:18,988 ERROR [org.jboss.as] (MSC service thread 1-3) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 6347ms - Started 282 of 363 services (2 services failed or missing dependencies, 78 services are passive or on-demand)
01:17:19,189 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "ear.ear" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.web.deployment.default-host./jspProject" => "org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./jspProject: JBAS018040: Failed to start context"}}
01:17:19,237 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015877: Stopped deployment jspProject.war in 46ms
01:17:19,238 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015877: Stopped deployment ear.ear in 48ms
01:17:19,240 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.web.deployment.default-host./jspProject: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./jspProject: JBAS018040: Failed to start context

01:17:19,242 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.web.deployment.default-host./jspProject" => "org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./jspProject: JBAS018040: Failed to start context"}}}}

我已经挣扎了好几个星期了。

最佳答案

没有理由从 Web 模块中分离操作,但如果您这样做了,那么您应该向 Web 模块添加依赖项。修改 manifest.mf class-path

关于java - 如何在 Struts 2 中将 WAR 和 JAR 文件打包成 EAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19100051/

相关文章:

java - 使用 jsp : any better approaches? 从 POST 表单中提取 100 多个输入数据

java - Android 中的全局高分教程?

java - 在 LinearLayout 中垂直居中多个 TextView

Java - 从 MySQL 数据库中获取数据

java - 我从 UI 中的日历获取日期,格式为 dd/mm/yyyy。但我想要 18 年 7 月 12 日的格式

java - 适用于 Java EE 和 hibernate 的 Maven Artifact

java - Tomcat 7 内存使用量 - 是什么让它不断增长?

java - 为什么我会遇到映射异常?

基于维基百科方程的 Java Multilateration 实现

java - 如何在TimePicker中设置自定义时间