1

私はMaven2の初心者であり、mavenを使用してjavascriptのセット(Dojoライブラリなど)をjarライブラリにパックしようとしています(javaクラスはありませんが、拡張子が.jsのファイルのみ)。だから私は試してみるべきだと思いmaven-assembly-pluginます、ここにいくつかの懸念があります:

  1. ありませんmainClassが、どうすればMANIEST.MFを使用できますか?
  2. jar内のファイル階層を変更する予定がないかjar-with-dependenciesのように使用できますか?<descriptorRefs>
  3. これはばかげた質問かもしれませんが、pom.xml(javascriptlibフォルダー内またはjavascriptlibフォルダーと同じレベル内に)どこに配置すればよいですか?

よろしくお願いします。

4

3 に答える 3

6

次のような標準のMavenプロジェクトレイアウトを使用する場合:

project
   |-src
   .   |-main
   .      |-resources
   .         |-<JS files here>
   |-pom.xml

次に、JARパッケージを使用する通常のPOMファイルは、Javascriptファイルを出力JARに配置します。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.foo.bar</groupId>
  <artifactId>foo</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Foo</name>

</project>

これにより、の下にあるフォルダ構造が保持されますsrc/main/resources

于 2012-07-31T18:06:30.310 に答える
2
  1. mainClassはmanifest.mfの必須エントリではありません。これは、一般的なオープンソースライブラリからの最小限のmanifest.mfサンプルです。

    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver 
    Created-By: Apache Maven 
    Built-By: hudsonagent 
    Build-Jdk: 1.5.0_15 
    
  2. このオプションを使用すると、ファイル構造が変更される可能性があります。試してみて、結果を処理できるかどうかを確認してください。

  3. 標準のMavenプロジェクト構造を参照してくださいhttp://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
于 2012-07-31T17:38:44.060 に答える
1

Mavenは実際にはこれに適したパッケージツールではありません。JavaScript固有のパッケージツールであるNPMまたはYARNを使用することをお勧めします。

https://www.npmjs.com/

https://yarnpkg.com/lang/en/

JavaScriptコードを本当にJarにパッケージ化する場合はsrc/main/resources、標準のディレクトリレイアウトに示されているディレクトリを使用できます:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout .html

Mavenがリソースを見つける場所を変更することもできます:https ://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

MavenとJavaは、バックエンドJavaコードとともにフロントエンドコード(HTML、JS、CSS、画像など)をパッケージ化するために設計されたWARと呼ばれる別のパッケージタイプをサポートしています:https ://maven.apache.org/plugins/maven -war-plugin / using.html

于 2018-07-25T14:06:08.800 に答える