2011-09-09 11 views
10

मैं वेब ऐप ढांचे के रूप में खेल का उपयोग कर रहा हूं और मुझे यह पसंद है, लेकिन मैं जानना चाहता हूं कि नाटक के लिए पोम घोषित करने का कोई अच्छा तरीका है या नहीं! ऐप?क्या एक नाटक को मज़बूत करने का कोई अच्छा तरीका है! ढांचा आवेदन?

सूत्रों फ़ाइलों विशेष में हो के लिए होती हैं (नहीं Maven मानक) फ़ोल्डरों के रूप में, और उस लक्ष्य को एक लक्ष्य फ़ाइल उत्पन्न करने के लिए है, लेकिन diferents आईडीई (ग्रहण, Netbeans में projet प्रबंधन करने के लिए अनुमति देने के लिए नहीं है, .. ।)

यह अच्छा होगा अगर 1.2.X conf/dependencies.yml विशिष्ट प्रारूप के साथ pom.xml निर्भरताओं को लिंक करना संभव होगा।

धन्यवाद।

+0

कुछ Maven समर्थन के साथ एक नाटक मॉड्यूल नहीं है, लेकिन मैं फिर भी यह प्रयास नहीं किया है: [Maven मॉड्यूल] (http://www.playframework.org/modules/maven) – javierhe

उत्तर

3

हां, प्ले मेवेन मॉड्यूल हैं। तो आपको इसे "इंस्टॉल मैवेन प्ले" इंस्टॉल करने की आवश्यकता है, फिर "play mvn: init" पर कॉल करें। फिर प्रत्येक बार जब आप इसे अपडेट करते हैं तो "play mvn: up" कॉल करें। एकीकरण बहुत अच्छा नहीं है, इसका मतलब यह निर्भरता खेलने के लिए एक तरीका है। और सभी maven आदेश समर्थित नहीं है। लेकिन playfremwork2 एसबीटी पर पूरी तरह से आधारित होगा (उर्फ स्काला पर Maven)

+4

मुझे नहीं पता कि यह लिखा गया था या नहीं, लेकिन यह आज 2.0 के साथ काम नहीं करता है - मुझे आशा है कि मुझे समाधान मिलेगा! – PlexQ

5

कुछ विभिन्न प्लग है कि इस का समर्थन करते हैं:

  1. AbsurdHero के Play Pure Maven Plugin। यह scala.html फ़ाइलों को स्कैला में परिवर्तित करने, स्थिर संपत्तियों को लक्षित निर्देशिका में जोड़ने, और स्रोत फ़ाइलों की निगरानी और स्वचालित रूप से परीक्षण सर्वर पर पुनः लोड करने का समर्थन करता है। जार/युद्ध/ज़िप बनाने के लिए इसका कोई समर्थन नहीं है जिसे आप तैनात कर सकते हैं। इसे मशीन पर Play स्थापित करने की आवश्यकता नहीं है, इसलिए यह सीआई सर्वर के साथ काम करेगा, हालांकि आपको सीआई मशीन पर प्लगइन जार प्राप्त करने की आवश्यकता है, उदाहरण के लिए नेक्सस जैसे स्थानीय मैवेन रिपोजिटरी का उपयोग करना।
  2. Nanoko play-2 maven plugin। मैंने अभी तक इसका उपयोग नहीं किया है - यह कहता है कि यह प्ले फ्रेमवर्क के चारों ओर एक रैपर है, इसलिए इसे बिल्ड मशीन पर स्थापित करने की आवश्यकता है। यह युद्ध के युद्ध और डिबगिंग या एप्लिकेशन चलाने का समर्थन करता है।

कोई अन्य? मुझे अन्य विकल्पों को सुनने में दिलचस्पी होगी?

+1

एक और प्लगइन जो युद्ध पैकेजिंग के लिए समर्थन करता है: https://code.google.com/p/play2-maven-plugin – adelarsq

7

नाटक के रूप में इस सवाल का जवाब एक अद्यतन स्थापित प्ले साथ काम नहीं करता 2

मैं सिर्फ एक प्ले 2 आवेदन mavenify करना पड़ा।

ऐसा करने के लिए, मैंने play2-maven-plugin और sbt-pom-reader का उपयोग किया।

मैंने हॉट रीलोडिंग सुविधा रखने के लिए एसबीटी-पोम-रीडर का उपयोग किया जो अभी तक play2-maven-plugin द्वारा समर्थित नहीं है।

<my-maven-project>/ 
    pom.xml     <- Your maven build 
    build.sbt    <- the sbt Play 2 configuration 
    project/ 
    build.properties  <- the sbt version specification 
    build.scala   <- the sbt build definition 
    plugins.sbt   <- the sbt plugin configuration 

    ..      <- Whatever files are normally in your maven project. 

फ़ाइलों के प्रत्येक निम्नलिखित सामग्री होनी चाहिए:

यह आप कैसे अपने play2-Maven परियोजना विन्यस्त करने की जरूरत है।

pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.foo</groupId> 
    <artifactId>bar</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>play2</packaging> 
    <name>My mavenified Play 2 application</name> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <play2.version>2.2.1</play2.version> 
     <play2-scala.version>2.10</play2-scala.version> 
     <play2.plugin.version>1.0.0-alpha5</play2.plugin.version> 
     <scala.version>2.10.2</scala.version> 
    </properties> 
    <repositories> 
     <repository> 
      <id>typesafe</id> 
      <name>Typesafe - releases</name> 
      <url>http://repo.typesafe.com/typesafe/releases/</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
    </repositories> 
    <dependencies> 
     <dependency> 
      <groupId>org.scala-lang</groupId> 
      <artifactId>scala-library</artifactId> 
      <version>${scala.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.typesafe.play</groupId> 
      <artifactId>play_${play2-scala.version}</artifactId> 
      <version>${play2.version}</version> 
     </dependency> 
     <!-- only if using Java --> 
     <dependency> 
      <groupId>com.typesafe.play</groupId> 
      <artifactId>play-java_${play2-scala.version}</artifactId> 
      <version>${play2.version}</version> 
     </dependency> 
    </dependencies> 
    <build> 
     <sourceDirectory>${basedir}/app</sourceDirectory> 
     <resources> 
      <resource> 
       <directory>${basedir}/conf</directory> 
      </resource> 
      <resource> 
       <directory>${basedir}</directory> 
       <includes> 
        <include>public/**</include> 
       </includes> 
      </resource> 
     </resources> 
     <!--<outputDirectory>target/scala-${play2-scala.version}/classes</outputDirectory>--> 
     <plugins> 
      <plugin> 
       <groupId>com.google.code.play2-maven-plugin</groupId> 
       <artifactId>play2-maven-plugin</artifactId> 
       <version>${play2.plugin.version}</version> 
       <extensions>true</extensions> 
       <dependencies> 
        <dependency> 
         <groupId>com.google.code.play2-maven-plugin</groupId> 
         <artifactId>play2-provider-play22</artifactId> 
         <version>${play2.plugin.version}</version> 
        </dependency> 
       </dependencies> 
       <!-- only if using Java --> 
       <configuration> 
        <mainLang>java</mainLang> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

build.sbt:

play.Project.playJavaSettings //or play.Project.playScalaSettings 

परियोजना/निर्माण।गुण:

sbt.version=0.13.0 

परियोजना/build.scala:

object BuildFromMavenPomSettings extends com.typesafe.sbt.pom.PomBuild 

परियोजना/plugins.sbt:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.1") 

addSbtPlugin("com.typesafe.sbt" % "sbt-pom-reader" % "1.0.1") 

अब आप बनाता है और एसबीटी गर्म पुनः लोड के साथ विकास के लिए के लिए Maven उपयोग कर सकते हैं।

0

Play 2.4 के बाद से आप PlayLayoutPlugin को Play के पारंपरिक लेआउट के बजाय सामान्य, मेवेन-स्टाइल लेआउट का उपयोग करने के लिए अक्षम कर सकते हैं। आपको बस अपनी एसबीटी परियोजना परिभाषा में disablePlugins(PlayLayoutPlugin) जोड़ने की आवश्यकता है।

देखें: https://www.playframework.com/documentation/2.6.x/Anatomy#Default-SBT-layout

संबंधित मुद्दे

 संबंधित मुद्दे