payara micro使用java main方法启动

payara micro使用java main方法启动,java,payara,micro,Java,Payara,Micro,我有一个问题,帕亚拉微挪用。我想用eclipse中的payara micro启动JavaEE应用程序。但它不起作用 我用三个类创建了一个简单的JavaEE项目 @ApplicationPath("resources") public class JAXRSConfiguration extends Application { } @Path("ping") public class PingResource { @GET public String ping() {

我有一个问题,帕亚拉微挪用。我想用eclipse中的payara micro启动JavaEE应用程序。但它不起作用

我用三个类创建了一个简单的JavaEE项目

@ApplicationPath("resources")
public class JAXRSConfiguration extends Application {

}


@Path("ping")
public class PingResource {

    @GET
    public String ping() {
        return "Enjoy Java EE 8!";
    }

}
最后是我代码的“main”类

public class Startup {
    public static void main(String... args) throws BootstrapException {
        PayaraMicro.getInstance() //
                .setHttpAutoBind(true) //
                .bootStrap();
    }
}
pom.xml看起来像:

<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>com.lube</groupId>
    <artifactId>payaramicro</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <payara.version>5.194</payara.version>

        <failOnMissingWebXml>false</failOnMissingWebXml>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>8.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>fish.payara.extras</groupId>
            <artifactId>payara-micro</artifactId>
            <version>${payara.version}</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>payaramicro</finalName>

        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <configuration>
                    <executable>java</executable>
                    <arguments>
                        <argument>-classpath</argument>
                        <classpath />
                        <argument>com.lube.Mona</argument>
                    </arguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
我的项目的目标是使用eclipse轻松启动应用程序(调试等等)

我还尝试使用命令“mvn compile exec:exec”启动应用程序,该命令在payara micro github页面()上有描述

使用该命令,payara成功启动,但“resources/ping”页面不可用

是否可以在同一个项目中使用JavaEE代码和payara Embeded main方法

溴 卢卡斯

我相信这就是你的本意

关键步骤是将部署目录设置为Maven目标目录:

public static void main(String[] args) throws BootstrapException {
        PayaraMicro.getInstance()
                .setDeploymentDir(new File("my_project_path/target"))
                .setHttpAutoBind(true)
                .bootStrap();
    }
在手册中可以找到引导时部署的详细信息:


如果您想使用,请查看。

谢谢您的帮助,但我又尝试了一次。它似乎可以与命令链接“mvn compile exec:exce”一起使用,但不能与eclipse一起使用(右键单击->运行方式->Java应用程序)。我得到以下异常:“线程中的异常”main“fish.payara.micro.BootstrapException:Provider org.glassfish.json.JsonProviderImpl not found”我没有找到一个好的解决方案来直接在payara micro上开发。payara工具(eclipse)仅适用于完整的payara服务器。还有其他选择吗?另一种选择是使用NetBeans,一种与Maven配合良好的IDE。但是Eclipse可以很好地与Maven配合使用,您只需要学习如何配置它来运行Maven项目。如果你找不到方法,在StackOverflow上发布一个关于这个的问题。
public static void main(String[] args) throws BootstrapException {
        PayaraMicro.getInstance()
                .setDeploymentDir(new File("my_project_path/target"))
                .setHttpAutoBind(true)
                .bootStrap();
    }