0

我有一个要部署到 weblogic 服务器的应用程序。在不调整上下文根的情况下,它可以通过http://{IP}:{port}/{war fileName}. 我正在寻找调整上下文根,以便我可以将版本号保留在我的 war 文件的名称中,以便立即清楚正在使用哪个版本,但可以通过以下方式访问http://{IP}:{port}/{appName}

我已经尝试app.context=/{appName}在 application.properties 中进行设置,并grails.app.context = "/{appName}"在 Config.groovy 中进行设置,正如其他答案所建议的那样,尽管这些似乎都没有任何效果:

如何部署具有不同上下文路径的 grails 应用程序

如何在没有上下文路径的情况下部署 Grails 应用程序?

我已经尝试过在本地运行,在 tomcat 服务器和 weblogic 服务器上运行 - 它似乎只在本地运行时有所不同(是的,它在生产环境设置中,而不仅仅是开发)。

我还尝试在 WEB-INF 目录中添加一个 weblogic.xml 文件,其内容为:

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
     <context-root>/YOUR_CONTEXT_ROOT</context-root>
 </weblogic-web-app>

这在 weblogic 服务器上确实具有预期的效果,但我试图避免拥有特定于 weblogic 的文件,以防它曾经部署到不同的服务器。

我错过了什么吗?是否需要进行任何其他更改才能使用 application.properties 或 Config.groovy 中的设置?

4

1 回答 1

0

这是一个对我有用的例子。圣杯 3.0.9。Tomcat 8. 在 application.yml 文件中。我有这样配置的登台服务器。

staging:
    localdir:
        dataDir: 'C:\\java\\data\\'
    grails.serverURL: 'http://xxx.xxx.xxx.xxx:8080/myappname'
    server:
        port: 8080
        contextPath: '/myappname'

然后在引导程序中我像这样使用它

grailsApplication.config.salesreplocator.dataDir
于 2015-12-18T17:53:53.740 回答