0

デフォルトのアーキテクチャを使用して、Eclipse で新しい Maven プロジェクトを作成しました。特定のプロファイルでビルドするときに、rhino JavaScript を実行したいと考えています。私のプロジェクトには、動的 Web プロジェクト 2.5、Java、および Javascript のファセットがあります。クラスはなく、静的 Web ファイルのみです。

Maven ランタイム クラスパスを使用して次のプロファイルをコンパイルしようとすると、次のようなエラーが表示されます。

Unable to access jarfile C:\Users\Francis\workspace\bulle\target\classes;C:\Users
\Francis\.m2\repository\rhino\js\1.7R2\js-1.7R2.jar.

ターゲット/クラスを開こうとしているのはなぜですか? これをMavenのクラスパスから除外するにはどうすればよいですか?

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>1.7</version>
  <executions>
    <execution>
      <phase>compile</phase>
      <configuration>
        <target>
          <property name="runtime_classpath" refid="maven.compile.classpath" />
          <java jar="${runtime_classpath}" 
              classpath="org.mozilla.javascript.tools.shell.Main"
              fork="true" failonerror="true">
            <arg value="src/main/script/concat-all.js" />
          </java>
        </target>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>
4

1 に答える 1

0

${runtime_classpath}単一の JAR ファイルではなく、Maven が使用する「ランタイム」クラスパス文字列全体を補間します。

試す

      <java classpath="${runtime_classpath}" 
          classname="org.mozilla.javascript.tools.shell.Main"
          fork="true" failonerror="true">
        <arg value="src/main/script/concat-all.js" />
      </java>

Ant Java タスクのドキュメントを参照してください

于 2012-10-07T15:43:22.647 に答える