Tag: 部署

maven型材或弹簧型材?

很多java应用程序都是用maven构建的。 maven有Profiles概念,为不同环境构建发行包非常方便。 例如dev/test/prod使用不同的path / jndiname / security rule / properties files …我想我不必在这里列出代码来解释它。 Spring是一个非常好用的java开发框架,因为spring3它也支持profile概念。 现在问题来了,为了释放到不同的ENV目的,哪一个更好? 现在我更喜欢maven个人资料。 因为spring必须复制每个配置文件中的每个bean定义。 它需要一个初始化器/属性来让spring知道哪个配置文件应该被激活。 但我觉得弹簧轮廓比maven轮廓更灵活。 你怎么看? 请给出一些建议。 谢谢。

适用于多个Java Web应用程序的自动部署解决方案

我正在寻找可以管理多个相互依赖的Java Web应用程序部署的解决方案,最好是开源。 该解决方案需要能够创建和存储包含多个项目的发布规范,以用于每个应用程序的特定版本以及相关的其他工件(数据库配置,apache配置等)。 然后需要解析规范,然后需要在目标环境中部署/执行每个项目。 目标环境是基于linux的。 Web应用程序是在j2ee标准应用服务器上运行的香草战争。 要问很多? 目前我认为所有的位都已到位 – 二进制工件随maven发布插件一起发布 ,因此可以从我们的maven repo中进行部署, 数据库使用dbdeploy进行版本化, apache配置在svn中进行版本控制。 但是,我不知道任何可以将所有这些步骤放在多个应用程序上的工具。 我目前首选的方法是使用hudson的参数化构建forms来创建规范。 然后是第二个参数化构建,以选择预先创建的规范并在选定的环境中部署/执行它。 然而,这似乎是很多工作和不太理想的自定义解决方案。 任何人都知道任何预建的更好的想法吗? 或建议如何处理这个 – 也许工作流引擎会比哈德森更好? 也许是自定义网络应用程序 笔记: 目标环境预先构建了所有需求 – 例如安装了Java和app服务器,运行数据库等。这不是环境配置问题,而是更多的部署问题。 自动部署单个应用程序是许多解决方案的问题,例如货物,ant部署脚本等。但是我需要能够包装多个部署的东西。 例如,在多个应用程序的特定版本及其要求下启动货物。

Glassfish无法在root用户部署,因为声明了default-web-module

尝试从Netbeans和Admin Console部署到Glassfish Server开源版3.1.2.2(版本5)时,会抛出以下消息。 尽管Admin Console的“ Applications部分没有已部署的应用程序。 我尝试重新启动域名但没有成功。 Exception while loading the app : java.lang.Exception: WEB0145: Unable to deploy web module [*module name*] at root context of virtual server [server], because this virtual server declares a default-web-module 是否有任何缓存或可以清空的东西,以清理根,以便我可以再次在根上下文部署我的应用程序? 谢谢你的帮助! 步骤1 我在Glassfish -directory上使用一个简单的grep -command开始使用”default-web-module” 。 似乎这是在domains/domain1/config/domain.xml (我怎么能错过这个想法?)。 第2步 内部domain.xml如下: … … 此外,此application还提供对以前在root-context=”/”部署的applicationname的多个引用。 我一回到家,就会尝试删除这个… (当然还有domain.xml的备份)。 希望这将解决问题,并且我将能够再次部署到root !

部署应用程序时Weblogic Guava问题

我正在尝试将应用程序部署到weblogic服务器,我收到以下错误。 我在类路径中有guava.jar,我尝试了从10岁开始尝试的所有最新版本。 有人可以帮我解决这个问题吗? <Administration Console encountered the following error: weblogic.application.ModuleException: [HTTP:101216]Servlet: "action" failed to preload on startup in Web application: "…". java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService; at com.google.common.cache.LocalCache.(LocalCache.java:155) at com.google.common.cache.LocalCache$LocalManualCache.(LocalCache.java:4750) at com.google.common.cache.LocalCache$LocalLoadingCache.(LocalCache.java:4858) at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:739) at com.my.app.servers.UserServer.(UserServer.java:42) at com.my.app.ActionServlet.setAppProperties(DesActionServlet.java:207) at com.my.app.ActionServlet.init(DesActionServlet.java:167) at javax.servlet.GenericServlet.init(GenericServlet.java:240) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:299) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:250) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:94) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:82) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:74) […]

如何手动将war文件部署到tomcat?

我在位置”C:\Documents and Settings\myProj.war”.发生了一场战争”C:\Documents and Settings\myProj.war”. Web项目也可在”C:\Documents and Settings\myProj”. 我想将它部署到一个tomcat。 tomcat的位置是”C:\Documents and Settings\tomcat6x”. 请告诉我如何手动或通过命令提示符执行此操作。 一个应用程序已在Tomcat中运行。 这是一个maven项目。 我想在同一个tomcat上部署另一个应用程序,而不是maven应用程序。

从snapshot-repository下载WAR并使用mvn部署到本地JBoss

目前我用jboss:hard-deploy部署我的war jboss:hard-deploy到我的JBoss 6 AS。 这很好,但我必须从SVN签出项目并打包它。 war已经由Jenkins上传到我们的内部快照存储库,如果我可以从测试服务器上下载它并使用maven将其直接部署到JBoss,那将是很好的。 这个问题与从存储库到远程服务器的Maven部署工件之争有关,但我不认为答案是正确的(参见那里的评论)。

使用Maven将runnable .jar中的本机依赖项捆绑在一起

我有一个在Maven中管理的项目,它有一些本机依赖项 ( LWJGL )。 一切都在开发中工作正常,但现在我想设置Maven,以便它将构建一个可以重新分发的可运行的.jar文件。 特别是,我希望用户可以非常轻松地运行应用程序,而无需使用库路径或解压缩本机库等。 目前我能够构建一个包含所有依赖项的.jar文件,但如果我运行它(不出所料)我得到一个不满意的链接错误: Exception in thread “main” java.lang.UnsatisfiedLinkError: no lwjgl in java.libr ary.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at org.lwjgl.Sys$1.run(Sys.java:73) at java.security.AccessController.doPrivileged(Native Method) at org.lwjgl.Sys.doLoadLibrary(Sys.java:66) at org.lwjgl.Sys.loadLibrary(Sys.java:95) at org.lwjgl.Sys.(Sys.java:112) at org.lwjgl.opengl.Display.(Display.java:132) at glaze.TestApp.start(TestApp.java:10) at glaze.TestApp.main(TestApp.java:31) 显然,我可以通过手动安装本机库并使用java -Djava.library.path=/path/to/libs运行jar来使其工作,但这不是我期望用户做的事情。 这是pom.xml,如果它是相关的: https : //github.com/mikera/glaze/blob/master/pom.xml 可以设置Maven,以便它创建一个包含本机依赖项的可运行.jar,并在双击时成功运行?

在Tomcat部署期间,JSF托管bean导致java.io.NotSerializableException

在Tomcat 7上部署我的webApplication时,我将获得下面的控制台输出。 重新启动服务器两次或三次后,它可以正常工作。 我使用JSF,Tomcat和一个RMI连接到businesslogic部分(在这里应该没关系?) @ViewScoped托管bean中的@EJB导致java.io.NotSerializableException – 这里我读到了序列化。 但在这种情况下,客户端状态保存已激活,这在我的webApp中并非如此(就我的web.xml告诉我而言)。 那么我的视图编译ManagedBeans的序列化是必要的还是另一个失败? 这里是我的启动控制台输出(Sry中的德语部分): 28.01.2011 20:25:05 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Programme\Java\jdk1.6.0_21\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Programme/Java/jre6/bin/client;C:/Programme/Java/jre6/bin;C:/Programme/Java/jre6/lib/i386;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\Gemeinsame Dateien\Lenovo;C:\Programme\ATI Technologies\ATI.ACE\Core-Static;C:\Programme\Java\jdk1.6.0_20;C:\StudiPortal\TortoiseSVN\bin;C:\StudiPortal\apache-maven-2.0.11\bin;C:\Programme\Intel\WiFi\bin\;C:\Programme\ThinkPad\ConnectUtilities;C:\Programme\GTK2-Runtime\bin;C:\Programme\OpenVPN\bin 28.01.2011 20:25:05 org.apache.tomcat.util.digester.SetPropertiesRule begin WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:shapeyourbody’ did not find a matching property. […]

是否有默认方法来读取播放中的文件,即使在生产环境中也能正常工作?

我正在使用java框架来开发Web应用程序。 我想在运行时读取文件,该文件已包含在项目的文件夹中。 但是在生产环境中,该文件夹不可用。 有没有办法在运行时使文件夹可用? 特别是,是否有一种默认方法来处理这种情况? 我经历了一个问题“如何在Play Framework 2.2.1中读取文件? 1 ”但是没有提到生产环境中的问题。

如何部署Web应用程序并创建其资源

之前在glassfish 4上部署“myapp.war”之前我必须这样做 创建jdbc连接池(/WEB-INF/glassfish-resources.xml – > jdbc-connection-pool本身不起作用…从asadmin可以正常工作) 为池创建jdbc资源(/WEB-INF/glassfish-resources.xml – > jdbc-resource与上面相同) 创建auth-realm(没有自动,现在使用asadmin) 创建模式(peristence.xml – > property javax.persistence.schema-generation.create-database-schemas ,但是是伪造的) 创建表(persistence.xml – >`create-tables’,不完美,但至少它可以工作) 现在我在做: 在/ tmp / install上传“myapp.war”,“glassfish-resources.xml” asadmin add-resources … asadmin create-auth-realm … asadmin deploy … asadmin disable myapp … nano /…/glassfish/applications/myapp/WEB-INF/classes/META-INF/persistence.xml 注释几行, ctrl+o , enter , ctrl+x , enter asadmin enable myapp … rm -Rf /tmp/install […]