小编mbc*_*ute的帖子

如何从自定义任务执行runMain?

我正在使用sbt v0.13.5

在我的项目中,我希望有一个可以接受一些输入(单个字符串)的sbt任务,对它做一些工作并吐出一些输出(再次,一个字符串).我在我的项目中创建了一个帮助器类,我可以通过sbt runMain(sbt "runMain com.example.utils.ClassName someArgument")从终端调用它.

我想要的是为自己节省一些打字,并有一个sbt任务,这样做.我想能够键入sbt doThing withStuff并命名一个taskKey doThing,该命令用于调用runMain要运行的类的名称以及传入的参数.

我知道如何创建任务,但我似乎无法弄清楚如何runMain从我的build.sbt中的自定义任务定义调用.谁能指出我正确的方向?

sbt

8
推荐指数
1
解决办法
2296
查看次数

使用Jersey 2提供静态文件

我一般对Jersey和servlet还是陌生的,所以希望我只是缺少一些简单的东西...

我已经启动了Jersey应用程序(v2.13),并使用Guice(3.0)进行依赖项注入以及src / main / webapp中的一些静态文件。如果我将Jersey servlet映射到/ *以外的任何其他文件,并在webapp文件夹中请求一个静态文件,则可以毫无问题地得到服务。如果我将Jersey Servlet映射到根目录,则对404静态文件的任何请求都将得到满足。

我真的更希望将Jersey servlet映射到根,但是我还需要能够提供静态内容。有什么办法可以做到这一点?也许将Jersey Servlet映射到根目录,但忽略对/ assets / *或类似内容的请求?

这是我的web.xml:

<filter>
    <filter-name>guice-filter</filter-name>
    <filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>guice-filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>com.example.MyGuiceServletContextListener</listener-class>
</listener>

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.example.MyResourceConfig</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

java servlets jersey jersey-2.0

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

jersey ×1

jersey-2.0 ×1

sbt ×1

servlets ×1