2016-11-04 10 views
2

私はこのクールなマイクロアプリケーションサーバー - Payara Microを試したかったのですが、可能な限り単純な例を展開することができませんでした。 私は、依存関係のないJavaEE7を使用して、netbeansから空白のweb-app mavenプロジェクトを作成しました。それをコンパイルしようとしましたが、Glassfish 4.1.1で正常に実行されました - Hello Worldのようこそページが表示され、すべて正常です。配備後のPayara Micro - 404

クリーン&ビルドし、その結果のWARfileをpayaraにデプロイしようとしました。 (java -jar payara-micro.jar --deploy mywarfile.war) スタートアップはすばやく、出力の "META-INF/deployなし"ディレクトリと "Deployed 1 archives"の2つのメッセージに気付きました。 インデックスページを開こうとしましたが、次のようにエラー404が表示されます。

enter image description here

プロジェクトが展開するときに、私は何か間違ったことをやっても、本当に簡単です。プロジェクトの構造に多少の誤差がありますか? これによって私が使用原始的プロジェクト構造提示:

enter image description here

は、任意の貴重なソリューション/フィードバックをありがとうございました。私はちょっとばかげた、愚かなことを見落としていると思う。

編集:pomfileが添付されています。 EEのみペーシュ・カショーロが、変更なし:(

<?xml version="1.0" encoding="UTF-8"?> 

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0で、両方の依存関係でそれを実行しようとしました。 0

<groupId>com.myproject.sigag</groupId> 
<artifactId>sigag</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>war</packaging> 

<name>sigag</name> 

<properties> 
    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

<dependencies> 
    <!--<dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-web-api</artifactId> 
     <version>7.0</version> 
     <scope>provided</scope> 
    </dependency>--> 
    <dependency> 
     <groupId>fish.payara.extras</groupId> 
     <artifactId>payara-micro</artifactId> 
     <version>4.1.152.1</version> 
     <scope>provided</scope> 
     <type>jar</type> 
    </dependency> 
</dependencies> 


<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
       <compilerArguments> 
        <endorseddirs>${endorsed.dir}</endorseddirs> 
       </compilerArguments> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <phase>validate</phase> 
        <goals> 
         <goal>copy</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${endorsed.dir}</outputDirectory> 
         <silent>true</silent> 
         <artifactItems> 
          <artifactItem> 
           <groupId>javax</groupId> 
           <artifactId>javaee-endorsed-api</artifactId> 
           <version>7.0</version> 
           <type>jar</type> 
          </artifactItem> 
         </artifactItems> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

+0

'pom.xml'を追加できますか? Java EE 7 Web APIが依存関係になっているのがわかりますが、Payra Microを '提供された'スコープの依存関係として使うほうが良いです。 Payara MicroにはWebプロファイルAPIとJCacheのようないくつかの他のAPIがありますので参考にしてください。 – Mike

+0

http://blog.payara.fish/using-payara-embedded-and-payara-micro-with-maven – Mike

+0

編集:私はpom.xmlを追加しました。あなたの解決策を試しましたが、これまでの成功はありませんでした。 – NullpointerExceptionBuster

答えて

3

あなたは(ラインPayara Micro 4.1.1.163 #badassmicrofish (build 215) ready in 10436 (ms)前に数行)ログに、アプリケーションのコンテキストルートを見ることができるはずです。このような

何か:

Loading application [sigag] at [/sigag] 

その後、あなたのアプリケーションは、あなたの努力のために、どうもありがとうございましたhttp://localhost:8080/sigag/

1

で利用可能であるべきです。 結局のところ、それは本当にばかしい間違いだったし、私はちょっとあなたの時間を無駄にしてすみません。

答えは簡単です - 戦争のファイル名に基づいて - 展開URLが作成されます。 基本的に - 私は完全な "Mavenous"というファイル名を持っていたので、Sigag-1.0.0-SNAPSHOT.warの正しいURLはlocalhost:8080/Sigag-1.0.0-SNAPSHOT/

でした。

+0

素晴らしい!回答が正しいと人々に知らせるために、答えの1つを正解とマークしてください。自分の答えを正しいものとしてマークすることもできます。 – OndrejM