53

WARファイルがあります。それを開いて XML ファイルを編集し、いくつかの jar を削除してから再パッケージ化したいと考えています。

WINRAR を使用して WAR ファイルを開き、いくつかの Jar を削除して、WinRar で「アーカイブに追加」を実行し、WAR を作成しました。

WAR を jboss フォルダーにデプロイすると、例外が発生しました。

   16:05:14,316 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) 
   MSC00001: Failed to start service jboss.deployment.unit."myapplication.war".
   STRUCTURE: org.jboss.msc.service.StartException in 
   service   jboss.deployment.unit."myapplication.war".STRUCTURE: 
   Failed to process phase STRUCTURE of deployment "myapplication.war"

WAR を再パッケージするにはどうすればよいですか?

4

8 に答える 8

9

war ファイルを /tmp にコピーして、内容を抽出します。

cp warfile.war /tmp
cd /tmp
unzip warfile.war
cd WEB-INF
nano web.xml (or vim or any editor you want to use)
cd ..
zip -r -u warfile.war WEB-INF

これで /tmp/warfile.war のファイルが更新されました。

于 2017-05-15T07:19:37.820 に答える
4

上記の回答から適応すると、これは Tomcat で機能しますが、JBoss または任意のコンテナーにも適応できます。

sudo -u tomcat /opt/tomcat/bin/shutdown.sh
cd /opt/tomcat/webapps
sudo mkdir tmp; cd tmp
sudo jar -xvf ../myapp.war
#make edits...
sudo vi WEB-INF/classes/templates/fragments/header.html
sudo vi WEB-INF/classes/application.properties
#end of making edits
sudo jar -cvf myapp0.0.1.war *
sudo cp myapp0.0.1.war ..
cd ..
sudo chown tomcat:tomcat myapp0.0.1.war
sudo rm -rf tmp
sudo -u tomcat /opt/tomcat/bin/startup.sh
于 2016-04-21T02:42:16.330 に答える
2

それを行うANTタグがあると確信していますが、.batスクリプトでこの7zipハックを使用しました。http://www.7-zip.org/コマンドライン ツールを使用しています。j2ee context.xml ファイル内の jdbc url を変更するために常にこれを使用します。

mkdir .\temp-install
c:\apps\commands\7za.exe x -y mywebapp.war META-INF/context.xml -otemp-install\mywebapp
..here I have small tool to replace text in xml file..
c:\apps\commands\7za.exe u -y -tzip mywebapp.war ./temp-install/mywebapp/*
rmdir /Q /S .\temp-install

.war ファイル全体 (結局はその zip) を抽出し、ファイルを削除し、ファイルを置き換え、ファイルを追加し、ファイルを変更して、.war アーカイブ ファイルに再パッケージ化することができます。ただし、大きな .war アーカイブ内の 1 つのファイルを変更する場合、特定のファイルを抽出してから元のアーカイブを更新するのが最適な場合があります。

于 2013-10-09T10:59:33.610 に答える
1

プログラムを使用せずに、7zip UI を使用してアーカイブを開くだけで、構造を変更せずにファイルを追加/削除または抽出/置換できます。今まで他のものを使って問題があるとは知りませんでした:)

于 2014-03-26T23:03:10.450 に答える