2011-08-31 35 views
6

Khi xây dựng một jnlp với maven-webstart-plugin, tôi thấy rằng các phụ thuộc thời gian chạy không được bao gồm trong jnlp.Maven-webstart-plugin để bao gồm các phụ thuộc thời gian chạy

Tôi đang sử dụng một mẫu như thế này:

<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="$jnlpspec" codebase="${url}/${appName}" href="${outputFile}"> 
    <information> 
     <title>${appName}</title> 
     <vendor>$project.Organization.Name</vendor> 
     <homepage href="${url}/${appName}"/> 
     <offline-allowed/> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 
    <resources> 
     <j2se version="$j2seVersion"/> 
     $dependencies 
    </resources> 
    <application-desc main-class="${main}" /> 
</jnlp> 

Làm thế nào tôi có thể bao gồm sự phụ thuộc thời gian chạy? Vâng, tôi có thể bao gồm tất cả chúng riêng lẻ:

<plugin> 
    <groupId>org.codehaus.mojo.webstart</groupId> 
    <artifactId>webstart-maven-plugin</artifactId> 
    <configuration> 
     <dependencies> 
     <includes> 
      <include>groupId:artifactId</include> 
      ... 
     </includes> 
     </dependencies> 
     ... 
    </configuration> 
    </plugin> 

... nhưng lý tưởng, tôi không muốn phải nhớ thay đổi điều này mỗi khi tôi thêm thời gian chạy phụ thuộc vào dự án của mình.

Có cách nào để hướng dẫn plugin bao gồm tất cả phụ thuộc thời gian chạy không?

Trả lời

1

Vì vậy, nó chỉ ra rằng mặc định là bao gồm tất cả các phụ thuộc biên dịch và thời gian chạy.

Điều gì đang diễn ra?

Vâng, tôi cũng đang sử dụng kiến ​​để triển khai jnlp trên máy chủ và trong tệp kiến, $dependencies đã được đặt bằng cách sử dụng mvn:dependencies mà không có phạm vi được chỉ định là thời gian chạy. Vì vậy, việc thêm phạm vi thay đổi tập tin $dependencies được tích hợp vào tệp jnlp.

0

Tôi sử dụng cấu hình cha mẹ trong đó một trong các mô-đun là dự án bắt đầu web. Tôi muốn giữ điều này càng ít càng tốt. Tôi chỉ biên dịch phụ thuộc vào một thư viện đăng nhập, mô-đun ứng dụng chính (một mô-đun khác trong cùng cấu trúc cha mẹ) và các tệp jar bao gồm các tệp nhị phân gốc. Ngoài các phụ thuộc biên dịch này, tôi có một số phụ thuộc kiểm thử và một sự phụ thuộc hệ thống vào một tệp javaws.jar cục bộ.

Dường như plugin webstart maven bao gồm bất kỳ phụ thuộc thời gian chạy nào từ các mô-đun được đưa vào dự án bắt đầu web dưới dạng phụ thuộc biên dịch. Đây có thể là giải pháp để bạn chia nhỏ dự án của mình theo cách tương tự.

Về các tệp nhị phân gốc. Tôi đã phải sửa đổi các mẫu vận tốc phần nào để có được những phụ thuộc như nativelib thay vì tài nguyên jar.

+0

Bạn có thể chia sẻ giải pháp của mình với mẫu vận tốc đã sửa đổi cho tham số nativelib không? – rauch

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