我试图用以下xml文件在tomcat 8中部署一个应用程序:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="/home/httpd/chAdmin" path="/chAdmin">
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/usr/local/calendar/libs/google-api-client-1.19.0.jar;/usr/local/calendar/google-api-services-calendar-v3-rev107-1.19.0.jar;/usr/local/calendar/libs/google-http-client-1.19.0.jar;/usr/local/calendar/libs/google-http-client-jackson2-1.19.0.jar;/usr/local/calendar/libs/google-oauth-client-1.19.0.jar;/usr/local/calendar/libs/jackson-core-2.1.3.jar"/>
</Context>
我读了很多关于资源方法的迁移,并将xml文件更改为:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="/home/httpd/chAdmin" path="/chAdmin">
<Resources className="org.apache.catalina.webresources.StandardRoot">
<JarResources className="org.apache.catalina.webresources.JarResourceSet"
base="/usr/local/calendar/libs/google-api-client-1.19.0.jar" webAppMount="/" />
<JarResources className="org.apache.catalina.webresources.JarResourceSet"
base="/usr/local/calendar/google-api-services-calendar-v3-rev107-1.19.0.jar" webAppMount="/" />
<JarResources className="org.apache.catalina.webresources.JarResourceSet"
base="/usr/local/calendar/libs/google-http-client-1.19.0.jar" webAppMount="/" />
<JarResources className="org.apache.catalina.webresources.JarResourceSet"
base="/usr/local/calendar/libs/google-http-client-jackson2-1.19.0.jar" webAppMount="/" />
<JarResources className="org.apache.catalina.webresources.JarResourceSet"
base="/usr/local/calendar/libs/google-oauth-client-1.19.0.jar" webAppMount="/" />
<JarResources className="org.apache.catalina.webresources.JarResourceSet"
base="/usr/local/calendar/libs/jackson-core-2.1.3.jar" webAppMount="/" />
</Resources>
</Context>
该应用程序启动正常,但没有从jar文件中导入类。我肯定我错过了一些东西,找不到一个好的例子来说明如何做到这一点。请帮助。
我的JSP无法编译,正在抛出
组织。阿帕奇。贾斯珀。JaspereException:无法为JSP编译类:在生成的java文件:[/usr/local/apache-tomcat-8.0.30/work/Catalina/localhost/chAdmin/org/apache/JSP/charters_JSP.java]的第[20]行发生错误,只能导入类型。通用域名格式。谷歌。应用程序编程接口。客户json。JsonFactory解析为一个包
显然,这意味着jar文件无法正确导入,因为com/google/api/Client/json/JsonFactory.classgoogle-http-client-1.19.0.jar
我试图通过在上下文中添加下面的Postresources标记来覆盖这些类。xml,但它没有帮助。关于如何用外部类文件覆盖分解的war文件中的类的任何其他想法。
<PostResources className="org.apache.catalina.webresources.DirResourceSet"
base="/workspace/MY_UTIL_PROJECT/WebContent/WEB-INF/classes"
webAppMount="/WEB-INF/classes">
</PostResources>
请尝试使用WEB-INF/lib
作为您的webAppMount
举个例子:
请注意里面的注释,并注意我使用了PostResources
而不是PreResources
,这样,如果我对我的“util”实现不满意,我可以重写当前项目中的类。实际上,我不确定JarResource
是否被视为“PostResource”或“PreResource”,但重写静态内容和类是有效的。
<!--
https://tomcat.apache.org/tomcat-8.0-doc/config/resources.html
http://stackoverflow.com/questions/23143697/adding-external-resources-to-class-path-in-tomcat-8
http://stackoverflow.com/questions/34515852/tomcat-7-application-migration-to-tomcat-8
http://mikusa.blogspot.co.za/2014/07/tips-on-migrating-to-tomat-8-resources.html
-->
<Context path="/MY_PROJECT" docBase="/MY_PROJECT">
<Resources className="org.apache.catalina.webresources.StandardRoot">
<!-- Post-load the static content from my util project -->
<PostResources className="org.apache.catalina.webresources.DirResourceSet"
base="/workspace/MY_UTIL_PROJECT/WebContent"
webAppMount="/">
</PostResources>
<!-- Post-load the classes from my util project -->
<PostResources className="org.apache.catalina.webresources.DirResourceSet"
base="/workspace/MY_UTIL_PROJECT/WebContent/WEB-INF/classes"
webAppMount="/WEB-INF/classes">
</PostResources>
<!-- Load the JARs contained within my util project -->
<JarResources className="org.apache.catalina.webresources.DirResourceSet"
base="/workspace/MY_UTIL_PROJECT/WebContent/WEB-INF/lib"
webAppMount="/WEB-INF/lib">
</JarResources>
</Resources>
</Context>
我在搜索丢失的jar问题时发现了这个问题,我通过将webAppMount更改为WEB-INF/classes来实现它,如下所示
<JarResources className="org.apache.catalina.webresources.JarResourceSet"
base="/usr/local/calendar/libs/google-http-client-1.19.0.jar" webAppMount="/WEB-INF/classes" />
Tomcat10最近发布了,并尝试简单地部署应用程序。由于Java EE 8使用javax.*包名称空间,而Tomcat10使用Java EE 9,后者使用jakarta.*名称空间,因此很难从Tomcat9迁移到10。有什么方法或工具可以做到这一点吗?我认为这对tomcat 7/8也是一样的。
我发现这个类是的一部分,但我使用的是。 我复制了hibernate-core-4.2.0.final.jar,hibernate-ehcache-4.2.0.final.jar,cglib-2.2.2.jar,hibernate-jpa-2.0-api-1.0.1.final.jar,hibernate-commons-annotations-4.0.1.final.jar,hibernate-e
我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?
我正在将flutter应用程序从Firebase实时数据库迁移到Firestore。我在聊天应用程序中更新这段代码时遇到麻烦,因为firestore没有FireBaseAnimatedList。 旧代码: 现在只有错误是在动画中。我有错误:
我有一个Web项目,我很容易在tomcat上对其进行depoly。事实上,我有一个实现的类(这个类真的很胖),因为你知道每个支持servlet 3.0的应用程序服务器,它可以很容易地检测到它并尝试启动它。现在我想知道是否可以使用Spring启动启动器,并且无需任何进一步的配置,我将我的传递给它,并根据我的启动我的项目进行Spring启动? 我只想使用spring boot的方法在Tomcat上部署
我用xcode11运行我的应用程序,并且可以发布它。但是,我看到了苹果发布的下面这则公告; “从2021年4月开始,所有提交到应用商店的iOS和iPadOS应用都必须使用Xcode 12和iOS 14 SDK构建。” 我到底该怎么做?如果我下载Xcode12并运行我的应用程序,SDK会自动更新吗?安装iOS 14 SDK该怎么做? 或者我需要为我现有的豆荚“豆荚更新”吗?在我的项目“iOS部署目标