0

Tomcat用に構築されたWebアプリケーションであるJava Eclipseプロジェクトがあります。[プロジェクト] -> [プロパティ] -> [Java ビルド パス] -> [ライブラリ] の下に、私のシステムの C:\dev\apache-tomcat-7.0.14\lib ... にある Apache Tomcat 7.0 ライブラリを追加しました。プロジェクトは完全に正常に動作します。

BUT: リモート サーバーで Hudson と Ant を使用してプロジェクトをビルドしたいと考えています。Hudson が SVN の変更を検出すると、プロジェクトをチェックアウトし、ビルドとパッケージ化を試みます。残念ながら、Tomcat からのライブラリは見つかりません。これは、リモート サーバーの C:\xampp\tomcat\lib に配置されています。それらが見つかると、ビルドされた .war ファイルが別のサーバー上のさらに別の Tomcat にエクスポートされ、Tomcat ライブラリが /opt/tomcat/lib に配置されます。

この問題を解決するにはどうすればよいですか?

更新: 私の build.xml から

<path id="Apache Tomcat v7.0 [Apache Tomcat v7.0].libraryclasspath">
    <pathelement location="../../apache-tomcat-7.0.14/lib/annotations-api.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/catalina-ant.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/catalina-ha.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/catalina-tribes.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/catalina.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/ecj-3.6.2.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/el-api.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/jasper-el.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/jasper.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/jsp-api.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/servlet-api.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/tomcat-api.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/tomcat-coyote.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/tomcat-dbcp.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/tomcat-i18n-es.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/tomcat-i18n-fr.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/tomcat-i18n-ja.jar"/>
    <pathelement location="../../apache-tomcat-7.0.14/lib/tomcat-util.jar"/>
</path>
4

2 に答える 2

0

これはパスの問題にすぎないと思います(したがって、../../は必ずしもTomcatインストールの親ディレクトリではありません)。その問題を解決するためのいくつかの可能性があります、それらのうちの2つはここで見つけることができます:ハドソンの依存関係

于 2012-06-06T13:52:29.983 に答える
0

最後に、私はこのようにしました:

ローカル システム、Hudson のシステム、およびターゲット サーバーのシステムに環境変数 TOMCAT_HOME を設定しました。次のビルド スクリプトを使用して、Hudson の ANT でコードを正しくコンパイルして、.war が Hudson サーバー上にビルドされるようにします。

<path id="Apache Tomcat v7.0 [Apache Tomcat v7.0].libraryclasspath">
    <pathelement location="${env.TOMCAT_HOME}/lib/annotations-api.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/catalina-ant.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/catalina-ha.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/catalina-tribes.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/catalina.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/ecj-3.6.2.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/el-api.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/jasper-el.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/jasper.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/jsp-api.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/servlet-api.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/tomcat-api.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/tomcat-coyote.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/tomcat-dbcp.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/tomcat-i18n-es.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/tomcat-i18n-fr.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/tomcat-i18n-ja.jar"/>
    <pathelement location="${env.TOMCAT_HOME}/lib/tomcat-util.jar"/>
</path>

現在欠けている唯一のことは、Hudson の統合プラグインを使用して、ビルドのアーティファクト (.war ファイル) をターゲット システムに公開することです。

于 2012-06-07T08:22:49.053 に答える