java项目部署问题,问有经验的程序员,你们公司怎么控制线上版本

java项目部署问题,问有经验的程序员,你们公司怎么控制线上版本,第1张

首先提交的代码都要提交cvs,这样别人在打包前更新代码会看到冲突的地方

然后打包是打成war包。

先在本地服务器测试,没改java代码的话可以只替换肆漏戚jsp或者css,js之类的文件,图片搜没也一样

改了java代码就一定要重新打包重新部署

项目上线一定要做好旧版本的备份。因为不知会遇到什么突发情况,部署失败裂陵的原因很多。如果部署失败要立即恢复旧版本以免影响线上功能正常运行。备份的话只保留最近一个能正常运行的就行,其它老版本代码在cvs上都能找到。

ps代码同步很重要

java 应用程序在linux部署方法:

1,将项目达成war包(用eclipse,项目右键--Export--选择war file)

2,将tomcat(用winSCP当然也可以用secureCRT,用securCRT需要建立sftp(即上传文件的目录),用put tomcat命令)考到ilunx对应的目录下

3,然后将项目的war包放到雹悉tomcat的webapps目录下

4,启动tomcat(命令:./startup.sh(linux下启动tomcat是.sh文件而非.bat文件))

遇到问题如下:

运行./startup.sh 是报错

-bash: ./startup.sh: Permission denied

原因:没有运渗肆亏行.sh的权限

解决:chmod 777 *.sh

755 代表用户对该文件拥有读,写,执行的权限,同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组丛神人员权限一样。

777代表,user,group ,others ,都有读写和可执行权限。

获得权限后再运行./startup.sh命令时报错:

This file is needed to run this program

原因:该文件需要一个运行环境(即配置jdk环境变量)

解决:JAVA_HOME=/usr/java/jdk1.6.0_25/(当然这个目录根据自己的jdk安装目录)

然后在运行./startup.sh 提示:

Using CATALINA_BASE: /usr/local/sarft/apache/apache-tomcat-6.0.29

Using CATALINA_HOME: /usr/local/sarft/apache/apache-tomcat-6.0.29

Using CATALINA_TMPDIR: /usr/local/sarft/apache/apache-tomcat-6.0.29/temp

Using JRE_HOME: /usr/java/jdk1.6.0_25/

Using CLASSPATH: /usr/local/sarft/apache/apache-tomcat-6.0.29/bin/bootstrap.jar

如果提示以上信息表明 tomcat启动成功,可以正常run了。

在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。在下文中$CATALINA_HOME指的是Tomcat根目录。比如你的Tomcat放在F盘下,就是F:\Tomcat

一、静态部署

静态部署指的是我们在服务器启动之前部署我们的程序,只有当服旦亮务器启动之后,我们的Web应用程序才能访问。以下3中方式都可以部署:假设你的java web应用程序是test

1、将test目录拷贝到$CATALINA_HOME\webapps下,然后启动服务器就可以了。这种方式比较简单,但是web应用程序必须在webapps目录下。访问地址如下:

http://localhost:8080/test/

2、这种方式可以不必将test目录拷贝到webapps下,直接在F:\部署。方法如下,更改$CATALINA_HOME\conf\server.xml文件,在<host>标签内添加<Context>标签,内容如下:

<Context docBase="F:/test" reloadable="false" path="/test"/>

其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。docBase为路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。访问地址如下:http://localhost:8080/test/

3、这种方式和第二种方式差不多,但是不是在Server.xml文件中添加Context标签,而是在$CATALINA_HOME\conf\Catalina\localhost中添加一个xml文件,如test.xml,内容如下:

<Context docBase="F:/test" reloadable="false" />大家可能发现和第二种方式差不多,但是缺少了path属性,这种方式服务器会使用.xml的名字作为path属性的值。访问地址如下:http://localhost:8080/test/

我们刚才是将test文件夹部署在了服务器中,我们知道可以将Web应用程序的内容打成.war包,然后在部署在服务器上。打包请参考如下步骤:

1、打开命令提示符(开始-->运行-->cmd)

2、设置jdk环境变量

3、在命令提示符中进入F:\test文件后,友知键入如下命令:

jar ..\test.war *.* 这样在F:\下应该有test.war文件。其中..表示当前目录的父目录。

部署test.war文件非常简单,将刚才有docBase="F:\test"更改为docBase="F:\test.war"或者直接将其拷贝到webapps下也可以。重新启动服务器就可以将test.war部署为一个Web应用程序了。如果你够细心的话你会发现,服务器将test.war文件解开,并且在webapps下面又生成了一个test文件夹,然后把test.war的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩,配置方式如下:

<Context docBase="F:/test" reloadable="false" unpackWAR="false"/>

二、动态部署

动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOME\webapps\下没有该文件,你必须去重新下载tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOME\conf\tomcat-users.xml文件,内容如下:关于这个文件的更多内容,请参考Java Web应用程序的安全模型二

<tomcat-users>

<role rolename="tomcat"/>

<role rolename="role1"/>

<好迟消role rolename="manager"/>

<user username="coresun" password="coresun" roles="manager"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="role1" password="tomcat" roles="role1"/>

</tomcat-users>

然后在浏览器中键入如下地址:

http://localhost:8080/应该看到一个漂亮的加菲猫了吧。点击左边的Tomcat Manager链接,提示输入用户名和密码,本文都是coresun,然后可以看到以下页面:

在Context Path(option):中输入/test

XML Configration file URL中要指定一个.xml文件,比如我们在F:\下建立一个test.xml文件,内容如下:

<Context reloadable="false" />docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填。

在WAR or Directory URL:中键入F:\testWet或者F:\test.war都可以,然后点击Deploy按钮,看看上面是不是已经看到了你web应用程序,名字就是你Context Path(option):中的名字。

如果你部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。

推荐你使用第一种方式的第一个方法就行了,你直接把你java程序中的WebRoot文件夹及其所有的内容copy到$CATALINA_HOME\webapps 下,然后重命名就行了,比如重命名为test 那么你启动Tomcat后访问的路径就是http://localhost:8080/test


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12288871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存