2012-07-29 55 views
5

Tôi có một tệp lô chạy một lớp java bằng cách sử dụng maven phụ thuộc vào tools.jar (từ JDK).
Ví dụ:
mvn -f. \ Pom.xml -e exec: java -Dfile.encoding = "UTF-8" -Dexec.mainClass = MyClass -Dexec.args = "% 1% 2% 3% 4 % 5% 6% 7% 8% 9 "-Dexec.classpathScope = runtime
Chương trình của tôi sử dụng tools.jar từ JDK và tôi đã thêm một phụ thuộc hệ thống vào maven trỏ đến nó.
Vì exec: mục tiêu java không bao gồm phụ thuộc hệ thống, tôi muốn thêm phụ thuộc từ dòng lệnh theo cách thủ công.
Mặc dù tôi mong đợi nó là tầm thường tôi có thể tìm ra cách để làm điều đó. Mọi trợ giúp sẽ được đánh giá cao.
Cảm ơn,
Avnerthêm jar vào hàm maven: đường dẫn lớp java

Trả lời

10

Từ những gì tôi đọc ở maven exec plugin nó cho phép bạn cấu hình bạn phụ thuộc thực thi như phụ thuộc plugin.

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.2.1</version> 
     <configuration> 
      <includeProjectDependencies>false</includeProjectDependencies> 
      <includePluginDependencies>true</includePluginDependencies> 
      <executableDependency> 
      <groupId>com.example.myproject</groupId> 
      <artifactId>mylib</artifactId> 
      </executableDependency> 
      <mainClass>com.example.Main</mainClass> 
     </configuration> 
     <dependencies> 
      <dependency> 
       <groupId>sun.jdk</groupId> 
       <artifactId>tools</artifactId> 
       <version>1.5.0</version> 
       <scope>system</scope> 
       <systemPath>${java.home}/../lib/tools.jar</systemPath> 
      </dependency> 
     </dependencies> 
     </plugin> 
+0

điều này có thể được thực hiện trên dòng lệnh không? Nó quá tệ nếu tôi phải duy trì một tệp pom chỉ để thêm phụ thuộc. Trên thực tế nó sẽ rất hữu ích để có thể chạy một lớp từ một lọ trực tiếp từ dòng lệnh và có maven chăm sóc kéo phụ thuộc .. – akostadinov

Các vấn đề liên quan