LoginSignup
7
8

More than 5 years have passed since last update.

appassembler-maven-plugin

Last updated at Posted at 2014-03-01

Javaでバッチプログラムを作るときに必要なjarを実行シェルファイルを作ってくれる
pom.xmlを作って、mvnコマンドを叩くとpom.xmlで指定したディレクトリの中に作ってくれる。これは便利。Windowsにも対応しているらしい。
詳細はこちら
http://mojo.codehaus.org/appassembler/index.html

mvnコマンド
 mvn package appassembler:assemble

2014-03-04 追記

projectArtifactFirstInClassPathの設定を追加した。trueにすると自動生成してくれるシェルの中にあるクラスパスの先頭にこのプロジェクトのjarを読み込んでくれる。これにより優先順位付けができる

pom.xml
<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>foo.bar</groupId>
    <artifactId>command-line</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>command-line</name>

    <properties>
        <spring.version>3.2.0.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.2</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>SpringApp</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/*Tests.java</include>
                    </includes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>appassembler-maven-plugin</artifactId>
                <version>1.7</version>
                <configuration>
                    <platforms><platform>unix</platform></platforms>
                    <assembleDirectory>${project.build.directory}/assemble</assembleDirectory>
                    <programs>
                        <program>
                            <mainClass>foo.bar.HelloApp</mainClass>
                            <id>helloApp</id>
                            <platforms>
                                <platform>unix</platform>
                            </platforms>
                        </program>
                    </programs>
                    <binFileExtensions>
                        <unix>.sh</unix>
                    </binFileExtensions>
                <projectArtifactFirstInClassPath>true</projectArtifactFirstInClassPath>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8