3

サーバーに Apache Archiva をデプロイしようとしていますが、常に失敗します。

仕様:

os: ubuntu 10.04 
tomcat: Apache Tomcat/6.0.24
jvm: 1.6.0_27-b27

$CATALINA_HOME : /usr/share/tomcat6
$CATALINA_BASE : /var/lib/tomcat6
$CATALINA_OPTS : "-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_BASE"

path to lib : $CATALINA_BASE/common/lib

#java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.3) (6b27-1.12.3-0ubuntu1~10.04.1)
OpenJDK Client VM (build 20.0-b12, mixed mode, sharing)

Tomcat 自体は稼働しています。このページの指示に従い、必要なすべての jar を lib (上記で指定した場所) にコピーし、そのコンテンツarchiva.xmlで inを作成しました。/var/lib/tomcat6/conf/Catalina/localhost/

<Context path="/archiva" docBase="/var/lib/tomcat6/archiva/apache-archiva-1.4-M4.war">

  <Resource name="jdbc/users"
        auth="Container"
        type="javax.sql.DataSource"
        username="philipp"
        password="xxx"
        driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
        url="jdbc:derby:////localhost:1527/archivausers;create=true" />

  <Resource name="jdbc/archiva"
        auth="Container"
        type="javax.sql.DataSource"
        username="philipp"
        password="xxx"
        driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
        url="jdbc:derby://localhost:1527/archivadata;create=true" />

  <Resource name="mail/Session"
        auth="Container"
        type="javax.mail.Session"
        mail.smtp.host="localhost"/>
</Context>

tomcat マネージャで »start« をクリックした後:FAIL - Application at context path /archiva could not be started

の最後の行は次のcatalina.outとおりです。

SCHWERWIEGEND: A web application created a ThreadLocal with key of type[java.lang.ThreadLocal] (value [java.lang.ThreadLocal@69bf9]) and a value of type [org.apache.logging.log4j.core.impl.Log4jLogEvent] (value [Logger=org.springframework.web.context.ContextLoader Level=ERROR Message=Context initialization failed]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. 11.06.2013 16:29:30 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SCHWERWIEGEND: A web application created a ThreadLocal with key of type [null] (value [org.apache.logging.log4j.spi.DefaultThreadContextMap$1@1ea380c]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.

私は頭に浮かんだことを多かれ少なかれすべて試しましたが、常に失敗しました!

何か案が?

4

1 に答える 1

4

なんとか実行できたので、他の誰かが私が取った手順を共有するのに役立つと思います. これらの説明は、archiva の公式インストール手順を既に読んでいることを前提としており、公式ドキュメントはもう少し冗長である可能性があるため、一種の追加説明になるはずです。

最初に »war« をダウンロードして に保存しました/var/lib/tomcat6/archiva。これが開始点を定義します。

1. データベース:

公式の指示では、この tomcat で実行されているすべての Web アプリケーションでファイルを使用できるようにするために、ダウンロードして (私の場合は を指す) に保存するよう求めderby.jarられますderbytools.jar。私の研究では、次のコマンドも見つけたapache derby プロジェクトに出会いました。$CATALINA_HOME/lib/usr/share/tomcat6/lib

sudo apt-get install sun-javadb-core sun-javadb-client

derby db をインストールするだけです (私の場合/etc/apt/sources.list、1 つのソースに »multiverse« を追加する必要がありました)。その後、私は実行します:

sudo ln -s /usr/share/javadb/lib/*.jar -t /usr/share/tomcat6/lib

必要なすべての derby-jars を tomcat lib にリンクしたもの (おそらくいくつかは必要ありません)。その後、ディレクトリを作成し、dbその所有者とグループを tomcat6に/var/lib/tomcat6/archiva変更しましたが、データベース ファイルをどこに保存するかはあなた次第ですが、必要な 2 つのデータベース用に 2つのサブディレクトリを作成しないことが重要です。 、そのディレクトリ内。usersarchiva

2.メール

そこで、指示に従い、Tomcats ライブラリにコピーmail.jarしました。activation.jar

3. アーカイブ ホーム ディレクトリ

アーカイブの実行を妨げたエラーの 1 つは、ホーム ディレクトリを に作成しようとしたことでした/usr/share/tomcat6/.m2が、その結果、アクセス許可の競合が発生したため、そのディレクトリを作成し、グループと所有者を tomcat6 に変更しました。

最後になりましたが、私は にある を気archiva.xmlにしました/var/lib/conf/Catalina/localhost。置き換える必要のあるパスは»太字«でマークされていないので、簡単に確認できるので、ここでそれを行うようにしています${path}

<Context path="/archiva"
     docBase="${path to the archiva war archive here}">

  <Resource name="jdbc/users"
        auth="Container"
        type="javax.sql.DataSource"
        username="sa"
        password=""
        driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
        url="jdbc:derby:${path to the db folder}/users;create=true" />

  <Resource name="jdbc/archiva"
        auth="Container"
        type="javax.sql.DataSource"
        username="sa"
        password=""
        driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
        url="jdbc:derby:${path to db folder}/archiva;create=true" />

  <Resource name="mail/Session"
        auth="Container"
        type="javax.mail.Session"
        mail.smtp.host="localhost"/>
</Context> 

これですべてです。忘れていないことを願っています。catalina.outそこにあるメッセージは明確な問題を説明していないため、エラーログを検索するのは一種の無意味です。そのためlocalhost.${date}.log、同じディレクトリを読むことをお勧めします。そこでは、はるかに役立つデバッグ情報を見つけることができました。

ps: Archiva のインストール後、Apache Continuum とまったく同じ手順を実行し、フォルダーとファイル名を置き換えるだけで、インストールも実行されました。

ハッピー インストール、乾杯!

于 2013-06-13T07:33:47.493 に答える