‘壹’ linux下用命令怎样将另一个地址上的war包中的文件替换
说一下大概的思路吧
首先说不用脚本的情况。
1,我们知道,如果仅更换War包。只要删除War包和所生War的目录即可。
首先service tomcat stop .操作完成后,再启动即可。
若要替换其中的文件。
首先要知道解压的命令。
jar -cvfM0 project.war path/project
-c 创建war包
-v 显示过程信息
-f 类似于tar定义文件的名字。以.war结尾
-M 不创立说明文件
-0 这个是数字,只打包不压缩
解压缩:
jar -xvf project.war -C path/ 解压到指定位置。
类似于Tar
详细的可以 jar --help ,或者直接到JAr所在目录运行。
在解压的目标里查看指定的文件,使用cp mv rm来完成替换工作。
再结合上面的压缩。打包。
前者如果War包在使用的话,还需要Service 停启的辅助工作。这样更为稳妥。
2,脚本方式,需要的首先如如何自动Ssh上对方的电脑。
还有本地写好的替换脚本的SCp的自动上传,这里内容包括文件替换。War包位置。或者搜索得到的位置War包确定
再将执行的脚本添加到Crontab或者At中。
具体搜索,测试。比较麻烦。但是各个部分的文档丰富。
‘贰’ JSP修改后重新生成war,覆盖服务器根目录下的WAR文件后是否还需要覆盖源文件
不需要复制源码,直接war过去就行了
‘叁’ was上部署的应用缓存在什么目录下
刚刚学会了用was部署项目,步骤很简单,但是第一次还是手忙脚乱,没有头绪,现在学会了,记录下详细步骤跟大家分享。
工具/原料
was
war包
方法/步骤
打开was的“管理控制台”,单击后会在ie浏览器中打开管理页面
打开后可以看到左侧的菜单列表,单击“应用程序”->"安装新的应用程序",重点需要输入的有两个地方:选择was上传路径,输入上下文根
都输入后,就可以进行下一步了,之后就是大约1分钟的加载。
注意:上下文根就是你要访问的系统标识,比如http://localhost:8888/test/,上下文根就是test
此时,不需要改任何配置,直接单击“下一步”
勾选选框,然后单击“下一步”
不用勾选选框,虚拟主机就根据已经配置的进行选择就可以了,一般是默认“default_host”,然后单击“下一步”
可以编辑上下文根,基本上是不用改的,默认就好,单击“下一步”
查看一下信息,基本是没有问题的,单击“完成”,稍等一下
保存配置,之后跳转到"安装新的应用程序"页面,安装完成!
之后就可以在“企业应用程序”里面看到了,单击“启动”就可以访问了。
END
注意事项
war失败,可以先用一个空war包,安装成功后再替换
‘肆’ 在was上部署war项目(多个节点),用域名访问时,经常出现以下图片的问题,但是如果用IP访问就
WebSphere Network Deployment 迁移概述
可使用迁移向导或迁移命令执行 WebSphere 迁移。尽管迁移向导提供了一个将配置文件迁移到默认位置的标准方法,但迁移命令可用于将配置文件迁移到安装树以外的位置。
‘伍’ AIX上was8,5如何删除server1和chuang'jian
AIX下系统sed使用详解使用sed去修改或者删除文本中的字符或者字符串。 pg func.txt 0at$the@begining^M The#file#name#is#func,^M 9and%it's%suffix%is .txt 1.查找包含#的行: awk '$0 ~ /#/' func.txt The#file#name#is#func,^M 2.将包含#的行中第一个#替换为空格: sed -n 's/#/ /p' func.txt The file#name#is#func,^M 3.替换行中所有的#: sed 's/#/ /g' func.txt 0at$the@begining^M The file name is func,^M 9and%it's%suffix%is .txt 4.替换行开头的数字: sed 's/^[0-9]*//g' func.txt at$the@begining^M The#file#name#is#func,^M and%it's%suffix%is .txt 5.将结尾的^M去掉: sed 's/^M$//g' func.txt 0at$the@begining^M The#file#name#is#func,^M 9and%it's%suffix%is .txt 怎么没替换呢? 原来^为特殊字符,需要转义 sed 's//^M$//g' func.txt 0at$the@begining The#file#name#is#func, 9and%it's%suffix%is .txt 6.下面将这些命令全部整合起来: pg func.txt 0at$the@begining^M The#file#name#is#func,^M 9and%it's%suffix%is .txt at func.txt sed 's//$/ /g' sed 's/@/ /g' se 's/^[0-9]//g' sed 's//^M$//g' sed 's/#/ /g' sed 's/%/ /g' at the begining The file name is func, and it's suffix is .txt 也可以将这些命令放在文件里面: pg func.sed # !/bin/sed -f # drop the # s/#/ /g # drop the number at the first of each line s/^[0-9]//g # drop the $ s//$/ /g # drop the @ s/@/ /g # drop the % s/%/ /g # drop the ^M s//^M//g # EOF 执行命令:sed -f func.sed func.txt at the begining The file name is func, and it's suffix is .txt 将执行过滤后的结果保存到sed.out文件中: sed -f func.sed func.txt > sed.out pg sed.out at the begining The file name is func, and it's suffix is .txt 下面一个适用的例子 我从数据库中查找的数据放在一个文件里面: pg sql.txt LASTNAME SALARY --------------- ----------- HAAS 152750.00 THOMPSON 94250.00 2 条记录已选择。 现在的需求是将其中的LASTNAME取出来,可以如下操作: cat sql.txt sed '/^--*/d' sed '/^$/d' sed '$d' sed '1d' awk '{print $1}' 取出其中的数字: cat sql.txt sed '1d' sed '$d' sed '/^$/d' sed '/^--*/d' awk '{print $2}' 152750.00 94250.00 在每行后面附加信息 pg info.txt yeeXun linux Aix Unix Windows sed 's/[a-zA-Z]*/& -end-/g' info.txt yeeXun -end- linux -end- Aix -end- Unix -end- Windows -end- 在命令行给sed传递值,使用双引号: NAME=Scott in Oracle REPLACE=OUT echo $NAME sed s/in/$REPLACE/g Scott OUT Oracle 下面是一些行命令([]表示空格,[ ] 表示tab键) ------------------------------------------------------------------- 's//.$//g' 删除以.结尾的行 '-e /abcd/d' 删除包含abcd的行 's/[][][]*/[]/g' 用一个空格替换多个空格 's/^[][]*//g' 删除行首空格 's//.[][]*/[]/g' 用一个空格替换.后面的多个空格 '/^$/d' 删除空行 's/^.//g' 删除行首的第一个字符 's/COL/(.../)//g' 删除紧跟COL(的三个字符 's/^////g' 从路劲中删除第一个/ 's/[ ]/[]//g' 用空格替代tab键 's/^[ ]//g' 删除行首所有tab键 's/[ ]*//g' 删除所有tab键 ------------------------------------------------------------------- 脚本集合 1.删除路径名第一个/: echo $PWD sed 's/^////g' usr/xxxx/ytcclb/sed 2.附加(添加)文本: echo Mac Wong sed 's/Mac /& J./g' Mac J.Wong 3.取文件名,去掉后缀: 查看当前目录下的文件: ls -l total 20 -rwxr--r-- 1 b4nx group 78 Dec 4 09:48 append.sed -rw-r--r-- 1 b4nx group 48 Dec 4 10:01 change.sed -rw-r--r-- 1 b4nx group 181 Dec 6 10:41 func.sed -rw-r--r-- 1 b4nx group 69 Dec 6 09:58 func.txt -rw-r--r-- 1 b4nx group 30 Dec 8 13:57 info.txt -rw-r--r-- 1 b4nx group 44 Dec 4 09:56 insert.sed -rw-r--r-- 1 b4nx group 201 Nov 27 15:01 quote.txt -rw-r--r-- 1 b4nx group 63 Dec 6 10:43 sed.out -rw-r--r-- 1 b4nx group 5 Dec 4 14:43 sedex.txt -rw-r--r-- 1 b4nx group 125 Dec 6 10:55 sql.txt 取文件名: ls -l awk '{print $9}' sed '/^$/d' sed 's//....//g' append change func func info insert quote sed sedex sql 4.给3取出来的文件添加后缀.db2: ls -l awk '{print $9}' sed '/^$/d' sed 's//..*$//g' sed 's/$/.db2/g' append.db2 change.db2 func.db2 func.db2 info.db2 insert.db2 quote.db2 sed.db2 sedex.db2 sql.db2 注意: 取文件的后缀:sed 's//..*$//g' 5.替换多个字符(包括空格): str=Guiyang&is thecapital of GuiZhou echo $str sed 's/&/ /g' sed 's/the/the /g' Guiyang is the capital of GuiZhou --the end--
‘陆’ webservice部署到was后出错,应该是jar冲突,求助
在项目名上点击右键,选择“导出”;
在弹出来的对话框中,你可以直接搜索“WAR”或者一个一个查看,应该就在“Web”里面,选定“WAR file”,然后“下一步”;
在接下来的对话框里面,你可以指定要导出的是哪个webService工程和导出到哪个文件夹,还可以指定你要导出到哪个版本的tomcat上面,图片如下:
注意导出的文件是以".war"为文件后缀的;
然后把你导出的这个war文件拷贝到tomcat的安装目录下,直接把这个war文件放在webapps这个文件夹里面就可以了!
然后运行tomcat服务,可以命令行也可以通过service运行,具体看你的tomcat是怎么安装的;
通过浏览器访问“http://127.0.0.1:8080/<你的webService项目名>”就可以了!
tomcat运行过程中会自动把webapps文件夹中的war文件解压缩成相应的文件夹,你运行tomcat后可以再去看看webapps文件夹,里面肯定会多了一个你的webservice项目文件夹。
‘柒’ was控制台导出war包不是最新
估计导出方式不对。
1、将war文件拷贝到tomcat目录webapps 下。2、将必要的jar文件拷贝到tomcat目录lib 下。3、修改tomcat目录conf下的server.xml。
‘捌’ war包路径问题
你那个是相对路径不是绝对路径
你在类里面使用getClass().getResource("/").toString();
就可以得到你当前类在硬盘上的路径了是不是不知道war包应该放哪啊,最简单的方法放至{TOMCAT_HOME}\webapps目录下,配置{TOMCAT_HOME}\conf\server.xml文件,重启Tomcat,你的war被自动部署了,生成了对应的文件夹,如果war文件中缺少相应的包,请在{TOMCAT_HOME}\webapps\{上步生成的文件夹名}\WEB-INF\lib中添加
如果你想知道war包所在的路径,那就取其中一个类,找那个类的绝对路径就行了啊,就象楼上说的
‘玖’ 请教为何我在WAS7里部署的WAR包不能访问
按它的提示,它希望你到服务器的日志目录 (logs文件夹) 下面找到 FFDC 工具生成的日志 (它在 WebSphere 服务器的$你当前正在运行的 profile 目录下的 logs\ffdc 文件夹中,你应该知道这个 profile 对应的配置文件夹是哪儿吧),里面可能有些跟技术相关的信息,让我们明白是什么东西的值为空 (Null Pointer Exception 表示某个东西是空的,没法使用) 。
‘拾’ 怎么得到部署在weblogic下war包里面的文件夹路径
想要得到部署在weblogic下war包里面的文件夹路径,可以使用ServletContext的getResource方法或getResourceAsStream方法获取:
java">StringtmpFolderPath=request.getSession().getServletContext().getResource("/phototemp/photo").getFile();
注意:this.getServletContext()可以在Tomcat下使用,但无法在WebLogic下使用,WebLogic下使用如下方法替代:
request.getSession().getServletContext()
或
request.getServletConfig().getServletContext().