首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Javalite框架构建可运行的JAR作为独立的http?

如何使用Javalite框架构建可运行的JAR作为独立的http?
EN

Stack Overflow用户
提问于 2018-05-21 17:26:01
回答 1查看 161关注 0票数 0

那么,如何使用Javalite框架构建可运行的JAR呢?Javalite没有已知的入口点/主类。我浏览了一些例子,但没有找到任何线索。

此jar将使用java -jar命令在服务器上独立运行。

下面是我在pom.xml文件上的插件片段

包装

代码语言:javascript
复制
<modelVersion>4.0.0</modelVersion>
<groupId>org.javalite</groupId>
<artifactId>activeweb-simple</artifactId>
<packaging>jar</packaging>
<version>1.1-SNAPSHOT</version>
<name>ActiveWeb Example WebApp</name>

插件

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <!-- Jar file entry point -->
                <mainClass>com.company.Application</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

和Application.java,

代码语言:javascript
复制
public class Application {
    public static void main(String[] args) throws Exception {

        String webappDirLocation = "src/main/webapp/";
        Tomcat tomcat = new Tomcat();

        String webPort = System.getenv("PORT");
        if(webPort == null || webPort.isEmpty()) {
            webPort = "8081";
        }

        tomcat.setPort(Integer.valueOf(webPort));

        StandardContext ctx = (StandardContext) tomcat.addWebapp("/", new File(webappDirLocation).getAbsolutePath());
        System.out.println("configuring app with basedir: " + new File("./" + webappDirLocation).getAbsolutePath());

        File additionWebInfClasses = new File("target/classes");
        WebResourceRoot resources = new StandardRoot(ctx);
        resources.addPreResources(new DirResourceSet(resources, "/WEB-INF/classes",
            additionWebInfClasses.getAbsolutePath(), "/"));
        ctx.setResources(resources);

        tomcat.start();
        tomcat.getServer().await();
    }
}

注意:我目前使用tomcat作为嵌入式http-server,以使JAR文件能够独立运行。但是,Javalite ActiveWeb可能有办法做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2018-05-22 01:04:50

您可以构建任意数量的不同类型的JavaLite项目,例如使用JavaLite HTTP、ActiveJDBC、JavaLite异步等特性的独立项目。此外,如果您想构建web应用程序,您还将需要ActiveWeb。

以下是来自JavaLite存储库的示例列表:

ActiveJDBC:

ActiveWeb:

每个示例应用程序都有一个自述文件,您可以阅读该文件以了解示例的用途。

要启动任何项目,只需克隆一个存储库,运行它,然后开始根据您的喜好修改它。

此外,请注意发布页面http://javalite.io/releases,并保持您的依赖项是最新的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50445681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档