gpt4 book ai didi

mysql - 如何在我自己的 Tomcat 服务器上部署 broadleaf demo?

转载 作者:行者123 更新时间:2023-11-28 23:23:21 36 4
gpt4 key购买 nike

我能够从提供的脚本 adminstart.sh 和 startsite.sh 启动 Broadleaf 演示应用程序。我还能够将数据库更改为 MySQl。但是,我不明白如何创建可以在我的 Tomcat 实例上运行的 war 。

我发现与普通方法相比,阔叶树的做法有所不同。通常我将上下文值放入文件应用程序上下文中。 web.xml 中引用的 xml。无需修改 Tomcat context.xml。例子是

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/application-context.xml</param-value>
</context-param

在阔叶配置中有几个上下文参数

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>blAdmin.root</param-value>
</context-param>

<context-param>
<param-name>patchConfigLocation</param-name>
<param-value>
classpath:/bl-open-admin-contentClient-applicationContext.xml
classpath:/bl-open-admin-contentCreator-applicationContext.xml
classpath:/bl-admin-applicationContext.xml
classpath:/bl-cms-contentClient-applicationContext.xml
classpath:/bl-cms-contentCreator-applicationContext.xml
classpath*:/blc-config/admin/bl-*-applicationContext.xml
classpath:/applicationContext.xml
classpath:/applicationContext-email.xml
/WEB-INF/applicationContext-datasource.xml
/WEB-INF/applicationContext-admin-security.xml
/WEB-INF/applicationContext-admin-filter.xml
/WEB-INF/applicationContext-admin.xml
</param-value>
</context-param>

<context-param>
<param-name>shutdownHookMethod</param-name>
<param-value>forceFlush</param-value>
</context-param>

在web.xml中加上:

<!-- Initialize spring mvc -->
<servlet>
<servlet-name>admin</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/applicationContext-servlet-open-admin.xml
classpath:/applicationContext-servlet-admin.xml
classpath:/applicationContext-servlet-cms-contentClient.xml
classpath:/applicationContext-servlet-cms-contentCreator.xml
classpath:/bl-menu-admin-applicationContext-servlet.xml
classpath*:/blc-config/admin/bl-*-admin-applicationContext-servlet.xml
/WEB-INF/applicationContext-servlet-admin.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

结果是Tomcat实例在提供数据库池配置的conf目录下包含context.xml:

在我的应用程序中使用阔叶树的最佳方式是什么?

最佳答案

配置

  • 把你的MySQL JDBC驱动放到tomcat7/lib文件夹
  • 在 DemoSite 中打开站点和管理模块的 web.xml
  • 在两个web.xml中添加如下代码
<resource-ref>
<description>WEB</description>
<res-ref-name>jdbc/web</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
<description>STORAGE</description>
<res-ref-name>jdbc/storage</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
<description>SECURE</description>
<res-ref-name>jdbc/secure</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
  • 打开 windows 的 cmd 提示符或 linux 的命令 shell
  • 导航到您的 JDK_directory/bin 并为 SSL 切换创建 keystore
keytool -genkey -alias tomcat -keyalg RSA -storepass password
  • Open Tomcat7/conf/server.xml
  • Add the following code to enable SSL switching, just below your default connector port
<Connector 
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true"
SSLEnabled="true"
keystorePass="password"
clientAuth="false"
sslProtocol="TLS"
/>
  • 打开 Tomcat7/conf/tomcat-users.xml
  • 添加关注
<user username="tomcat" password="password" roles="manager-gui"/>
  • 使用您的数据库的值填充 database.properties 或
  • 为tomcat配置JNDI
  • 在您的管理或站点文件夹中有文件 target/tomcat-server-config/context.xml。
  • 将此文件复制到tomcat7/conf/
  • 打开此文件并将以下属性替换为您的数据库值
username="${database.user}" : Replace with your database username (eg. broadleaf)
password="${database.password}" : Replace with your database password
driverClassName="${database.driver}" : Replace with your database classname (eg. org.postgresql.Driver)
url="${database.url}" : Replace with your database URL with database path, port and name. (eg. jdbc:postgresql://localhost:5432/broadleaf)
  • 在您的 IDE 中启动 Maven 项目安装生命周期目标(整个项目或每个模块)
  • 这将为每个模块创建 war
  • 启动tomcat(运行~/tomcat7/bin/中的startup.bat/startup.sh)
  • 转到应用程序管理器并输入您添加到 tomcat-users.xml 中的 tomcat 用户名和 key
  • 部署管理和站点 war
  • 上下文路径是 url 映射(例如/admin 和/demo-site)
  • XML 配置 url 是 objective-c ontext.xml 的完整路径(例如 ~/target/tomcat-server-conf/context.xml)
  • WAR 目录是目标目录中你的 war 的完整路径

  • 不要忘记将 development.properties 中的 blPU.hibernate.hbm2ddl.auto 从创建更改为更新(独立 tomcat 无法创建表 - 这是我对 postreSQL 的经验)

关于mysql - 如何在我自己的 Tomcat 服务器上部署 broadleaf demo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40075852/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com