resin启动struts1.2的程序时的问题

本文解决了使用Resin3.*及以上版本部署Struts1.2应用程序时出现的javax.servlet.UnavailableException异常问题。通过更换commons-digester.jar包版本,可以有效解决该兼容性问题。

用resin3.*以上版本跑struts1.2的程序时,启动会出现javax.servlet.UnavailableException at org.apache.struts.action.ActionServlet.init(ActionServlet.java:368)异常
问题出在struts1.2中的commons-digester.jar包,将struts1.1中的commons-digester.jar包替换struts1.2中的包就可以解决这问题了。

### 如何使用Resin启动一个JAR包 Resin作为一款高性能的Java应用服务器,支持多种部署方式。要通过Resin启动一个JAR包(通常为可执行的Spring Boot或类似的应用程序),需要进行以下配置和操作。 #### 1. 配置Resin以支持JAR包运行 Resin本身主要用于部署WAR文件,但也可以通过调整配置来支持JAR包的运行。首先需要在`resin.xml`中定义一个`web-app`节点,并指定其根目录以及加载模式[^2]。 ```xml <web-app id="/" root-directory="C:\PROJECTS\JAVA\DLOG4J\webapp" redeploy-mode="manual"/> ``` 如果要启动一个JAR包,则需要将该JAR包放置在一个特定目录下,并确保Resin能够正确加载它。例如,可以将JAR包放置在`webapps`目录下,并命名为`myapp.jar`。 #### 2. 使用Resin的类加载机制加载JAR包 Resin的类加载器遵循JVM的双亲委派机制[^3],因此需要确保JAR包中的依赖项不会与Resin自带的库发生冲突。可以通过以下方法避免冲突: - **排除不必要的依赖**:如果JAR包中包含了一些Resin已经提供的库(如Servlet API),可以在构建时通过Maven的`<excludes>`标签排除这些依赖[^4]。 - **自定义类加载路径**:将JAR包所需的额外依赖放置在`lib`目录下,或者通过`classpath`参数指定。 #### 3. 启动JAR包的具体步骤 以下是通过Resin启动JAR包的详细步骤: - **步骤一**:将JAR包复制到Resin的`webapps`目录下。 - **步骤二**:编辑`resin.xml`,添加如下配置以支持JAR包的运行: ```xml <host id="localhost"> <web-app id="/myapp" war="webapps/myapp.jar"/> </host> ``` - **步骤三**:启动Resin服务。可以通过命令行启动Resin: ```bash resinctl start ``` - **步骤四**:验证JAR包是否成功启动。打开浏览器访问`http://localhost:8080/myapp`,检查应用程序是否正常运行。 #### 4. 注意事项 - 确保JAR包是一个可执行的Spring Boot应用或其他类似的框架应用,否则Resin可能无法正确解析。 - 如果JAR包中有多个版本的依赖库,可能会导致类加载冲突。此时需要参考Jar包冲突解决方案[^3],合理调整依赖的加载顺序。 - Resin的`redeploy-mode`设置为`manual`时,需要手动重启服务以应用更改[^2]。 #### 示例代码 以下是一个简单的Spring Boot JAR包的启动配置示例: ```java @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } ``` 打包后生成的JAR包可以直接放置在Resin的`webapps`目录下,并按照上述步骤进行部署。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值