部署Java Web项目报错(一)

尝试在JBoss AS 7.1.1上部署JavaWeb项目时遇到问题,启动日志显示存在重复资源及错误扫描未打包好的文件夹等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,我在部署Java Web项目时,出现错误,并且在eclipse新建一个servers,却出现多个项目。

具体错误截图如下:


然后,我又将项目部署到JBoss服务器中,却还是运行不成功

22:12:56,097 信息    [org.jboss.modules] JBoss Modules version 1.1.1.GA
22:12:57,800 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA
22:12:57,994 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting
22:13:04,539 INFO  [org.xnio] XNIO Version 3.0.3.GA
22:13:04,540 INFO  [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)
22:13:04,607 INFO  [org.xnio.nio] XNIO NIO Implementation Version 3.0.3.GA
22:13:04,678 INFO  [org.jboss.remoting] JBoss Remoting version 3.2.3.GA
22:13:04,974 INFO  [org.jboss.as.configadmin] JBAS016200: Activating ConfigAdmin Subsystem
22:13:04,978 INFO  [org.jboss.as.logging] JBAS011502: Removing bootstrap log handlers
22:13:05,024 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 38) JBAS011800: Activating Naming Subsystem
22:13:05,206 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension
22:13:05,130 INFO  [org.jboss.as.osgi] (ServerService Thread Pool -- 39) JBAS011940: Activating OSGi Subsystem
22:13:05,207 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 31) JBAS010280: Activating Infinispan subsystem.
22:13:05,130 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013101: Activating Security Subsystem
22:13:06,304 INFO  [org.jboss.as.security] (MSC service thread 1-1) JBAS013100: Current PicketBox version=4.0.7.Final
22:13:06,617 INFO  [org.jboss.as.connector] (MSC service thread 1-2) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final)
22:13:08,401 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
22:13:08,922 INFO  [org.jboss.as.naming] (MSC service thread 1-4) JBAS011802: Starting Naming Service
22:13:09,473 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-1) JBAS015400: Bound mail session [java:jboss/mail/Default]
22:13:10,146 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-3) Starting Coyote HTTP/1.1 on http-localhost-127.0.0.1-8080
22:13:11,791 INFO  [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-2) JBoss Web Services - Stack CXF Server 4.0.2.GA
22:13:12,652 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
22:13:12,945 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on localhost/127.0.0.1:4447
22:13:12,945 INFO  [org.jboss.as.remoting] (MSC service thread 1-2) JBAS017100: Listening on /127.0.0.1:9999
22:13:19,285 WARN  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-4) JBAS015005: Reliable deployment behaviour is not possible when auto-deployment of exploded content is enabled (i.e. deployment without use of ".dodeploy"' marker files). Configuration of auto-deployment of exploded content is not recommended in any situation where reliability is desired. Configuring the deployment scanner's auto-deploy-exploded setting to "false" is recommended.
22:13:19,290 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-4) JBAS015012: Started FileSystemDeploymentService for directory D:\eclipse\jboss-as-7.1.1.Final\standalone\deployments
22:13:19,420 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
22:13:19,422 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 26216ms - Started 133 of 208 services (74 services are passive or on-demand)
22:13:19,445 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015014: Re-attempting failed deployment plants.xml
22:13:19,592 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015014: Re-attempting failed deployment plants.xml
22:13:19,596 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015014: Re-attempting failed deployment TreeData.xml
22:13:19,598 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015014: Re-attempting failed deployment TreeMenus.xml
22:13:19,779 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015014: Re-attempting failed deployment js-lib.rar
22:13:19,791 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015010: The deployment scanner found a directory named META-INF that was not inside a directory whose name ends with .ear, .jar, .rar, .sar or .war. This is likely the result of unzipping an archive directly inside the D:\eclipse\jboss-as-7.1.1.Final\standalone\deployments directory, which is a user error. The META-INF directory will not be scanned for deployments, but it is possible that the scanner mayfind other files from the unzipped archive and attempt to deploy them, leading to errors.
22:13:19,794 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015010: The deployment scanner found a directory named WEB-INF that was not inside a directory whose name ends with .ear, .jar, .rar, .sar or .war. This is likely the result of unzipping an archive directly inside the D:\eclipse\jboss-as-7.1.1.Final\standalone\deployments directory, which is a user error. The WEB-INF directory will not be scanned for deployments, but it is possible that the scanner mayfind other files from the unzipped archive and attempt to deploy them, leading to errors.
22:13:19,868 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS014654: Composite operation was rolled back
22:13:19,874 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-1" => "JBAS014803: Duplicate resource [(\"deployment\" => \"plants.xml\")]"}}
22:13:19,877 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) undefined
22:13:19,880 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) undefined
22:13:19,882 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) undefined
22:13:19,884 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) undefined


### 解决Tomcat部署Web应用时报403 Forbidden错误 当遇到HTTP状态码`403 Forbidden`时,表明服务器已经接收到并理解了请求,但由于权限不足或其他配置问题而拒绝执行该请求[^2]。 #### 原因分析 1. **安全约束设置不当** 如果应用程序的安全约束(security constraint)定义不正确,则可能导致某些URL模式受到保护,只有经过身份验证的用户才能访问。如果尝试未授权地访问这些受保护资源,就会返回403响应。 2. **文件或目录权限问题** 文件系统的读写权限也可能是原因之。确保Tomcat进程拥有足够的权限来读取WEB-INF/classes以及lib中的类库和其他静态资源文件夹内的内容。 3. **上下文路径冲突** 当存在多个具有相同根路径的应用程序实例试图在同台Tomcat上运行时,可能会引发此类异常。检查是否存在重复部署的情况,并确认每个WAR包都有自己独立且唯的context path。 4. **跨域资源共享(CORS)策略限制** 对于涉及AJAX调用等前端交互场景下发生的403错误,还需考虑CORS政策的影响。适当调整Filter链中关于允许源域名列表等相关参数可解决问题。 5. **缺少必要的角色映射** 若项目依赖特定的角色来进行功能模块划分,在web.xml里声明了<auth-constraint>标签却没有赋予相应的role-name给当前登录账户的话也会造成此现象。 6. **浏览器缓存影响** 浏览器端可能存在旧版cookie残留或是对之前失败过的预检请求进行了本地存储从而触发了后续正常GET/POST操作也被拦截的现象。清除cookies和历史记录有助于排除这类干扰因素。 #### 解决策略 针对上述每种情况都有对应的解决办法: - 修改`web.xml`中的安全设定部分,合理规划哪些资源需要认证防护;对于公开可用的内容则应取消任何不必要的访问控制措施。 - 使用操作系统命令行工具核查相关文件夹及其子项属性,必要时授予更宽松些的操作许可权限,比如Linux环境下可通过chmod指令改变所属组及其它用户的rwx标志位组合形式。 - 查看server.xml配置文档内Engine节点下的Host元素是否已正确定义好hostNameAlias、appBase等重要属性值,防止多站点共存引起混淆误判。 -Java Web工程里的过滤器组件(Filter)内部实现逻辑加入额外判断语句用于放宽对外部接口调用者的来源校验标准,或者干脆禁掉整个filter-mapping环节以彻底规避潜在风险。 - 审核业务需求说明书仔细对照实际编码成果,补充遗漏的身份验证机制并将合法用户分配至恰当等级别的Role集合之中去。 - 尝试更换不同类型的浏览器重新发起测试流程,观察是否有改善迹象;另外也可以借助开发者工具Network面板查看具体的Request Headers信息辅助定位具体症结所在之处。 ```xml <!-- Example of configuring security constraints --> <security-constraint> <web-resource-collection> <url-pattern>/admin/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> </security-constraint> <login-config> <!-- Define login method here --> </login-config> <security-role> <role-name>admin</role-name> </security-role> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值