2013-03-13 26 views
25

Tôi đang cố gắng sử dụng cầu cảng để lưu trữ một servlet helloworld đơn giản bằng cách sử dụng maven. Tôi rất bối rối.maven jetty - org.mortbay.jetty vs org.eclipse.jetty

Tôi làm theo các instructions, nhưng khi tôi phát hành mvn jetty:run, tôi nhận được lỗi sau:

[ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/abc/.m2/repository), central (http://repo.maven.apache.org/maven2)] 

Để thêm vào sự nhầm lẫn, khi tôi tìm kiếm trên web cho các ví dụ, một số được đề cập đến org.mortbay.jetty, và những người khác đến org.eclipse.jetty. Tôi nghĩ rằng phiên bản Eclipse là mới nhất, phải không?

Có tài liệu nào mô tả những gì mỗi phụ thuộc được lưu trữ trên maven repo có nghĩa là gì? Và làm thế nào họ có thể được sử dụng?

Sau khi sửa đổi số phiên bản để 9.0.0.v20130308, tôi nhận được một lỗi khác nhau:

Unable to load the mojo 'run' in the plugin 'org.eclipse.jetty:jetty-maven-plugin:9.0.0.v20130308' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/eclipse/jetty/maven/plugin/JettyRunMojo : Unsupported major.minor version 51.0 

Đây là pom cập nhật của tôi:

<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.neon.research</groupId> 
     <artifactId>jetty</artifactId> 
     <packaging>war</packaging> 
     <version>1.0-SNAPSHOT</version> 
     <name>jetty Maven Webapp</name> 
     <url>http://maven.apache.org</url> 
     <properties> 
       <jetty.version></jetty.version> 
     </properties> 
     <dependencies> 
       <dependency> 
         <groupId>org.eclipse.jetty.orbit</groupId> 
         <artifactId>javax.servlet</artifactId> 
         <version>3.0.0.v201112011016</version> 
         <scope>provided</scope> 
       </dependency> 
     </dependencies> 

     <build> 
       <plugins> 
         <plugin> 
           <groupId>org.eclipse.jetty</groupId> 
           <artifactId>jetty-maven-plugin</artifactId> 
           <version>9.0.0.v20130308</version> 
         </plugin> 
         <plugin> 
           <artifactId>maven-compiler-plugin</artifactId> 
           <configuration> 
             <source>1.6</source> 
             <target>jsr14</target> 
           </configuration> 
           <executions> 
             <execution> 
               <id>test-compile</id> 
               <phase>process-test-sources</phase> 
               <goals> 
                 <goal>testCompile</goal> 
               </goals> 
               <configuration> 
                 <source>1.6</source> 
                 <target>1.6</target> 
               </configuration> 
             </execution> 
           </executions> 
         </plugin> 
       </plugins> 
     </build> 
</project> 
+0

bạn có chỉ định nhóm pluginId không? – ben75

+0

Có - đây là những gì tôi có: \t \t \t \t \t \t \t \t \t \t org.eclipse.jetty \t \t \t \t cầu cảng-maven-plugin \t \t \t \t 9,0.0 \t \t \t \t \t \t hba

+0

Phiên bản là không chính xác, vui lòng xem câu trả lời và bình luận cập nhật của tôi. – andyb

Trả lời

20

Cầu tàu đã di chuyển rất nhiều - xem History. Eclipse là ngôi nhà gần đây nhất, tính đến năm 2009. Các tạo phẩm Maven đã được đổi tên trên đường đi, vì vậy tìm kiếm của bạn đang tìm tài liệu cho các phiên bản cũ hơn của Jetty và plugin maven.

mới nhất (phiên bản 9) jetty-maven-plugin documentation liệt kê các phụ thuộc như:

<plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>9.0.0.v20130308</version> <!-- latest at time of writing --> 
</plugin> 

Các thư viện khác như cầu cảng-tiếp tục hoặc cầu cảng-jsp chỉ là sub-module của dự án Jetty. Một số tài liệu tồn tại trên older wiki cho Jetty 7 và 8 nhưng tôi không thể thấy bất kỳ nội dung nào được cập nhật cho v9. Thiết kế kiểu mô-đun là tổ chức của nhà phát triển Jetty về mã của họ trong các mô-đun được xác định rõ ràng, tất cả đều được cung cấp riêng cho các nhà phát triển có thể muốn sử dụng chỉ muốn một phần nhỏ của Jetty.

+0

Tài liệu Jetty 9 có tại đây: http://www.eclipse.org/jetty/documentation/current/ –

+0

@jessemcconnell cảm ơn, tôi đã liên kết với nó rồi. Tôi đã cố gắng giải thích rằng không có gì giống như tài liệu wiki cũ cho v9. Không có trang sơ đồ phụ thuộc và không có trang riêng biệt cho [Continuations] (http://wiki.eclipse.org/Jetty/Feature/Continuations) chẳng hạn. – andyb

+0

Tôi thấy rằng, chúng tôi vẫn đang kéo tài liệu vào thiết lập docbook có thể được đóng góp vào github (liên kết ở cuối trang). Bất cứ điều gì còn thiếu bạn muốn thêm vào xin vui lòng mở một lỗi tại bugs.eclipse.org dưới RT và chúng tôi sẽ nhận được nó trong ... hoặc đóng góp nó :) –

3

Phiên bản nhật thực là một trong những gần đây. Làm theo hướng dẫn trên trang web của họ.

0

Đây là cấu hình hoạt động cho tôi. Sử dụng phiên bản Jetty mới nhất.

<plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>9.4.0.v20161208</version> 
    <configuration> 
     <scanIntervalSeconds>0</scanIntervalSeconds> 
     <contextXml>${basedir}/src/it/resources/jetty-context.xml</contextXml> 
     <webApp> 
      <contextPath>/yourContextPath</contextPath> 
     </webApp> 
     <contextHandlers> 
     <contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext"> 
      <war>your/path.war</war> 
      <contextPath>/yourPath</contextPath> 
     </contextHandler> 
     </contextHandlers> 
     <classesDirectory></classesDirectory> 
     <webAppSourceDirectory></webAppSourceDirectory> 
    </configuration> 
</plugin> 
Các vấn đề liên quan