0 0

tomcat 下 部署多工程 jar 3

现在有5个工程。里面都使用了spring mvc spring security 和相同的一些jar包

可以把jar 包 都 抽到 tomcat lib 下 或 jre lib 下吗?

要是可以。会不会对工程有什么影响。
2011年8月11日 18:12

4个答案 按时间排序 按投票排序

0 0

采纳的答案

可以,但个人不建议这样
因为像common\lib下的包是相对很通用又稳定的包
如果你把你这几个工程共用的几个相同包放进来
一定时间看起来是文件少了不少
但将来需求的变化,可能有的工程 需要比较新版本LIB包,而一些工程 又没有需求或升级的要求 ,还只是要老版本的LIB包,同时新版本的lib包又依赖一些其他的包,并得删除掉一些如果放进去会产生错误的包。。。。。返正就是包的依赖比较麻烦时
你可能只考虑到一个工程 ,而另一个工程 没考虑到时就麻烦了。。。


还有,不同的中间件,classloader的加载顺序 还不一样
tomcat,jetty,jboss,websphere,weblogic等 可能会有一些地方不同,所以能部署到TOMCAT上的工程,不一定把整个WAR包放到JBOSS下就能正常跑起来,(虽然jboss是基于tomcat)

像tomcat
http://blog.csdn.net/myk_666888/article/details/5705208
Tomcat的class加载的优先顺序一览  
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件。  
2.环境变量CLASSPATH中的jar和class文件。  
3.$CATALINA_HOME/common/classes下的class文件。  
4.$CATALINA_HOME/commons/endorsed下的jar文件。  
5.$CATALINA_HOME/commons/i18n下的jar文件。  
6.$CATALINA_HOME/common/lib   下的jar文件。  
(JDBC驱动之类的jar文件可以放在这里,这样就可以避免在server.xml配置好数据源却出现找不到JDBC   Driver的情况。)  
7.$CATALINA_HOME/server/classes下的class文件。  
8.$CATALINA_HOME/server/lib/下的jar文件。  
9.$CATALINA_BASE/shared/classes   下的class文件。  
10.$CATALINA_BASE/shared/lib下的jar文件。  
11.各自具体的webapp   /WEB-INF/classes下的class文件。  
12.各自具体的webapp   /WEB-INF/lib下的jar文件。  
class的搜寻顺序如下:  
-------------  
Bootstrap   classes   of   your   JVM    
System   class   loader   classses   (described   above)    
/WEB-INF/classes   of   your   web   application    
/WEB-INF/lib/*.jar   of   your   web   application    
$CATALINA_HOME/common/classes    
$CATALINA_HOME/common/endorsed/*.jar    
$CATALINA_HOME/common/i18n/*.jar    
$CATALINA_HOME/common/lib/*.jar    
$CATALINA_BASE/shared/classes    
$CATALINA_BASE/shared/lib/*.jar    
而weblogic是


在weblogic中的classloader有5个层次,从高到低排:
a. jdk
b. jdk ext
c. system classpath
d. ( APP-INF/classes  and  APP-INF/lib )
e. ( WEB-INF/classes and WEB-INF/lib )

http://www.blogjava.net/SpartaYew/archive/2011/05/18/350503.html
  Tomcat与Weblogic有些地方是相反的:对于运行在 Java EE 容器中的 Web 应用来说,类加载器的实现方式与一般的 Java 应用有所不同。不同的 Web 容器的实现方式也会有所不同。以 Apache Tomcat 来说,每个 Web 应用都有一个对应的类加载器实例。该类加载器也使用代理模式,所不同的是它是首先尝试去加载某个类,如果找不到再代理给父类加载器。这与一般类加载器的顺序是相反的。这是 Java Servlet 规范中的推荐做法,其目的是使得 Web 应用自己的类的优先级高于 Web 容器提供的类。这种代理模式的一个例外是:Java 核心库的类是不在查找范围之内的。这也是为了保证 Java 核心库的类型安全。

2011年8月11日 20:28
0 0


所以这个没问题的···
jsp运行时,查找class的顺序为:项目文件夹(WEB-INF\lib)===》容器文件夹(tomcat \common\lib)==》jdk文件夹(jdk\jre\lib\ext)

2011年8月11日 19:10
0 0

可以的,没有什么问题

2011年8月11日 19:00
0 0

可以放在tomcat的lib下,多个项目共享。

2011年8月11日 18:16

相关推荐

    关于tomcat集群部署的方案

    在进行Tomcat集群部署时,需要对多台服务器进行配置,以保证集群环境下的各项服务协调一致运行。配置内容包括但不限于权限设置、数据连接配置、模板文件以及定时调度任务等。在集群环境中,配置文件和数据的同步问题...

    Solr3.6 + 中文分词 完整Tomcat工程部署包

    Mac和Linux环境下的完整部署包,解压有说明 在tomcat的conf文件夹建立Catalina文件夹,然后在Catalina文件夹中在建立localhost文件夹,在该文件夹下面建立 apache-solr-3.6.0.xml 提交搜索资源并建立索引 cd /...

    FineReport关于tomcat集群部署的方案.docx

    2. 将 WebReport 工程分别放在 Tomcat 下的 webapps 文件夹里。 3. 配置文件 cluster.xml,包括 PublicURL、ServiceName、IP、Port 和 WebAppName 等信息。 FineReport 集群部署的测试包括: 1. 启动工程,等 3 ...

    Tomcat7 源码Eclipse工程

    Eclipse工程中,源码主要分布在`java`目录下,分为多个模块,例如`catalina`模块处理请求和响应,`coyote`模块实现了HTTP/1.1协议,`jasper`模块负责JSP的编译和执行。通过阅读这些模块的源代码,我们可以了解到...

    将xxl-job-1.7.2导入到myeclipse并部署到tomcat

    2. 将导出的jar文件放置到Tomcat的`webapps`目录下,并重命名为`ROOT.war`。 3. 重启Tomcat服务器。 #### 三、测试 1. **添加任务**:登录到xxl-job-admin界面,添加一个新的任务。 2. **修改执行器地址**:在添加...

    基于SpringMVC+Tomcat搭建的WEB工程

    在本文中,我们将深入探讨如何基于SpringMVC和Tomcat搭建一个WEB工程,这是一个常见的Web开发实践,尤其适合初学者入门。我们将从编程环境的设置、SpringMVC框架的介绍、Tomcat服务器的使用,以及项目目录结构等方面...

    导入tomcat源码需要的jar包

    - **IDE配置**:在MyEclipse中,你需要创建一个新的Java工程,并将Tomcat源码文件夹结构导入为源代码目录。同时,正确配置项目的构建路径,添加上述提到的jar包作为库引用。 - **构建路径设置**:除了直接添加jar包...

    运行apache-tomcat-7.0.81源码所需的jar包和新建eclipse工程步骤

    这些jar文件通常位于Tomcat的`lib`目录下。如果你已经下载了源码,这些jar包可能已经包含在内,但如果没有,你需要从Tomcat的发行版中获取它们。 在Eclipse中创建一个新项目来管理源码,是分析和开发Tomcat的良好...

    weblogic项目移植到tomcat,配置说明

    1. 在 Tomcat 安装目录下面的 webapps 目录下新建一个文件夹,文件夹名就是要部署的工程项目名称。例如,新建一个名为 ITNM 的文件夹(..\apache-tomcat-5.5.35\webapps\ITNM)。 2. 将“J2EE/WebContent”目录下的...

    window和linux环境下运行springBoor工程的jar包

    总之,正确地运行Spring Boot工程的jar包涉及多个步骤,包括环境准备、jar替换、配置修改以及执行命令。理解这些过程对于任何Spring Boot开发者来说都是至关重要的。希望这篇文章能帮助你顺利运行你的Spring Boot...

    WST中新建Web工程部署在Tomcat

    本篇将详细介绍如何使用WST V6.1来构建一个Web工程,并将其部署在Tomcat服务器上。 1. **新建项目**: 首先,打开IBM WebSphere Application Server Toolkit并启动一个新的工作空间。在“文件”菜单中选择“新建”...

    Spring Boot打包war jar 部署tomcat

    1. Spring Boot 聚合工程打包 war 部署 Tomcat 要将 Spring Boot 应用程序打包成 war 文件,并部署到 tomcat 服务器上,我们需要继承 SpringBootServletInitializer 类,并重写 configure 方法,返回 builder....

    dubbo+zookeeper+tomcat+dubbo-monitor完整示例工程包括相应jar包.zip

    在本示例工程中,Tomcat用于部署服务提供者和消费者的应用,为它们提供运行环境。 Dubbo-Monitor是Dubbo的服务监控组件,它可以实时监控服务的调用情况,包括调用次数、平均耗时、失败率等关键指标。这对于排查...

    tomcat 源码导入eclipse工程

    将Tomcat的源码导入到Eclipse工程中,对于开发者来说,是深入理解Tomcat工作原理、调试和定制化开发的重要步骤。以下将详细讲解如何进行这个过程以及相关的知识点。 首先,我们需要获取Tomcat的源码。Tomcat的源码...

    Linux下jdk,tomcat安装以及web工程发布

    发布Web工程到Tomcat,你需要将打包好的WAR文件(Web应用程序的归档文件)放入`/usr/local/apache-tomcat-6.0.33/webapps`目录下。Tomcat会自动检测并解压这个文件,使其在服务器上运行。 总结,本文详细介绍了如何...

    tomcat从windows向linux转移部署借鉴.pdf

    通常,Windows下J2EE项目的编译结果会被放在Tomcat的webapps目录下对应工程名的目录里。在迁移至Linux后,同样需要将这些目录复制到Linux的Tomcat服务器的webapps目录下,并确保所有依赖的jar包被移动到common目录,...

    Eclipse手动配置Tomcat工程和Struts框架

    例如,可以从`D:\Tomcat 5.0\bin\bootstrap.jar`和`D:\Tomcat 5.0\common\lib`目录下添加所有JAR文件。 3. **新建Struts用户库**:同样地,创建名为“Struts”的用户库,并从`D:\struts-1.2.9-bin\lib`目录下添加...

Global site tag (gtag.js) - Google Analytics