2013-07-29 29 views
5

Có ai đã thành công khi sử dụng Maven và Scalatra 2.2.1 không?Sử dụng Scalatra 2.2.1 với Maven

Tôi đã tìm thấy kiểu mẫu cũ này https://github.com/Srirangan/scalatra-maven-prototype và cố gắng cập nhật phiên bản phụ thuộc, nhưng tôi tiếp tục gặp sự cố không tương thích.

Tôi muốn sử dụng:

  1. Scalatra 2.2.1
  2. Scala 2,10

Tôi nghĩ rằng Jetty có một số vấn đề để chạy chiến tranh được sản xuất.

Tôi đánh giá cao sự giúp đỡ của bạn về vấn đề này.

Đây là dự án ví dụ mà tôi đang sử dụng: http://www.scalatra.org/2.2/getting-started/first-project.html

Và pom.xml hiện tại của tôi:

<?xml version='1.0' encoding='UTF-8'?> 
<project 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.example</groupId> 
    <artifactId>my-scalatra-web-app</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 

    <properties> 
     <scalatra.version>2.2.1</scalatra.version> 
    </properties> 

    <build> 
     <finalName>scalatra-maven-prototype</finalName> 
     <sourceDirectory>src/main/scala</sourceDirectory> 
     <testSourceDirectory>src/test/scala</testSourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>org.scala-tools</groupId> 
       <artifactId>maven-scala-plugin</artifactId> 
       <version>2.15.0</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>compile</goal> 
          <goal>testCompile</goal> 
         </goals> 
         <configuration> 
          <args> 
           <arg>-make:transitive</arg> 
           <arg>-dependencyfile</arg> 
           <arg>${project.build.directory}/.scala_dependencies</arg> 
          </args> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <useFile>false</useFile> 
        <disableXmlReport>true</disableXmlReport> 
        <includes> 
         <include>**/*Test.*</include> 
         <include>**/*Suite.*</include> 
        </includes> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.mortbay.jetty</groupId> 
       <artifactId>maven-jetty-plugin</artifactId> 
       <version>6.1.17</version> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <dependency> 
      <groupId>org.scalatra</groupId> 
      <artifactId>scalatra_2.10</artifactId> 
      <version>${scalatra.version}</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.scalatra</groupId> 
      <artifactId>scalatra-scalate_2.10</artifactId> 
      <version>${scalatra.version}</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.scalatra</groupId> 
      <artifactId>scalatra-specs2_2.10</artifactId> 
      <version>${scalatra.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>3.0.20100224</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>1.0.6</version> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.scala-lang</groupId> 
      <artifactId>scala-library</artifactId> 
      <version>2.10.2</version> 
      <scope>compile</scope> 
     </dependency> 
    </dependencies> 

    <repositories> 
     <repository> 
      <id>SonatypeNexusSnapshots</id> 
      <name>Sonatype Nexus Snapshots</name> 
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
     </repository> 
     <repository> 
      <id>FuseSourceSnapshotRepository</id> 
      <name>FuseSource Snapshot Repository</name> 
      <url>http://repo.fusesource.com/nexus/content/repositories/snapshots/</url> 
     </repository> 
     <repository> 
      <id>ScalaToolsMaven2Repository</id> 
      <name>Scala-Tools Maven2 Repository</name> 
      <url>http://scala-tools.org/repo-releases/</url> 
     </repository> 
     <repository> 
      <id>scala-tools.org</id> 
      <name>Scala-Tools Maven2 Repository</name> 
      <url>http://scala-tools.org/repo-releases</url> 
     </repository> 
    </repositories> 

    <pluginRepositories> 
     <pluginRepository> 
      <id>scala-tools.org</id> 
      <name>Scala-Tools Maven2 Repository</name> 
      <url>http://scala-tools.org/repo-releases</url> 
     </pluginRepository> 
    </pluginRepositories> 

</project> 

Trả lời

11

Ok sau khi rất nhiều khóc, tôi thấy các phiên bản đúng để sử dụng, và đúng hiện vật. Hy vọng rằng nó sẽ hữu ích cho một ai đó:

<?xml version='1.0' encoding='UTF-8'?> 
<project 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 
    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.example</groupId> 
    <artifactId>my-scalatra-web-app</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 

    <properties> 
     <scalatra.version>2.2.1</scalatra.version> 
    </properties> 

    <build> 
     <finalName>scalatra-maven-prototype</finalName> 
     <sourceDirectory>src/main/scala</sourceDirectory> 
     <testSourceDirectory>src/test/scala</testSourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>org.scala-tools</groupId> 
       <artifactId>maven-scala-plugin</artifactId> 
       <version>2.15.0</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>compile</goal> 
          <goal>testCompile</goal> 
         </goals> 
         <configuration> 
          <args> 
           <arg>-make:transitive</arg> 
           <arg>-dependencyfile</arg> 
           <arg>${project.build.directory}/.scala_dependencies</arg> 
          </args> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <useFile>false</useFile> 
        <disableXmlReport>true</disableXmlReport> 
        <includes> 
         <include>**/*Test.*</include> 
         <include>**/*Suite.*</include> 
        </includes> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.eclipse.jetty</groupId> 
       <artifactId>jetty-maven-plugin</artifactId> 
       <version>9.0.4.v20130625</version> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <dependency> 
      <groupId>org.scalatra</groupId> 
      <artifactId>scalatra_2.10</artifactId> 
      <version>${scalatra.version}</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.scalatra</groupId> 
      <artifactId>scalatra-scalate_2.10</artifactId> 
      <version>${scalatra.version}</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.scalatra</groupId> 
      <artifactId>scalatra-specs2_2.10</artifactId> 
      <version>${scalatra.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.jetty.orbit</groupId> 
      <artifactId>javax.servlet</artifactId> 
      <version>3.0.0.v201112011016</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-webapp</artifactId> 
      <version>9.0.4.v20130625</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>1.0.13</version> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.scala-lang</groupId> 
      <artifactId>scala-library</artifactId> 
      <version>2.10.2</version> 
      <scope>compile</scope> 
     </dependency> 
    </dependencies> 

    <repositories> 
     <repository> 
      <id>SonatypeNexusSnapshots</id> 
      <name>Sonatype Nexus Snapshots</name> 
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
     </repository> 
     <repository> 
      <id>FuseSourceSnapshotRepository</id> 
      <name>FuseSource Snapshot Repository</name> 
      <url>http://repo.fusesource.com/nexus/content/repositories/snapshots/</url> 
     </repository> 
     <repository> 
      <id>ScalaToolsMaven2Repository</id> 
      <name>Scala-Tools Maven2 Repository</name> 
      <url>http://scala-tools.org/repo-releases/</url> 
     </repository> 
     <repository> 
      <id>scala-tools.org</id> 
      <name>Scala-Tools Maven2 Repository</name> 
      <url>http://scala-tools.org/repo-releases</url> 
     </repository> 
    </repositories> 

    <pluginRepositories> 
     <pluginRepository> 
      <id>scala-tools.org</id> 
      <name>Scala-Tools Maven2 Repository</name> 
      <url>http://scala-tools.org/repo-releases</url> 
     </pluginRepository> 
    </pluginRepositories> 

</project> 
+0

Lệnh biên dịch/chạy của bạn là gì? –

+1

Đó sẽ là tiêu chuẩn 'biên dịch mvn' và 'mvn jetty: run'. – merejy

+0

Bạn có muốn cập nhật câu trả lời của mình với các phiên bản mới nhất của các phụ thuộc khác nhau cũng như các phiên bản sau của bản thân scalatra không? Tôi đã cung cấp cho bạn một upvote để engender một số "tốt sẽ" trong lĩnh vực này;) – javadba

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