매번 jar파일을 보내는건 번거롭다. 이런경우에는 Maven을 이용해서 처리하는게 좋다.
스텐드얼론으로 실행시키는 경우에는 웹 어플리케이션도 tomcat이나 jboss에 얹는것보다는 was라이브러리를 써서 개별적으로 실행시키는게 유리한 경우도 있다.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>attached</goal> </goals> </execution> </executions> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> <executions> <execution> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>
이 두 플러그인이 필수다.
이클립스로 export하면 편하게 설정이 되는건데 maven에서는 귀찮은 설정이 많이 필요하다. 같은 기능을 하는 다른 플러그인이 여러가지가 있으니 같은 해결책을 찾아도 많은 방법이 있을 수 있다.
윗쪽 플러그인은 jar파일에 의존성파일들을 포함시키라는 명령.
두번째건 lib디렉토리에 의존성 jar를 포함시키라는 명령
윗쪽걸로만 하고 실행시키면…class not found가 뜬다. 이클립스로 export해서 해보니 제대로 잘 되는거 보면…. 저 플러그인 셋팅이 제대로 동작을 안하는것같다. 설정을 잘못해줬거나… 다음에 다시 봐야겠다.
svn또는 git을 이용하여 소스코드를 최신버전을 업뎃한후
mvn install
java -classpath .:target/lib/*:target/{application.jar} full.qulified.class.name
완료.