我有两个要合并的Maven Meecrowave项目。 -第一个项目是一个简单的类,具有主要方法: -第二个项目仅包含静态html文件。
为了避免出现XSS或CSRF错误,我想将两个项目结合起来。
我在一个项目中组合了我的java类和html / js文件 src / main / java中的Java src / main / resources / www
中的HTML / JS我尝试在POM配置文件中设置“ webapp”。似乎被REST装饰器扫描的类覆盖了。
public static void main(String... args) throws Exception {
try (final Meecrowave meecrowave = new Meecrowave().bake()) {
new Scanner(System.in).nextLine();
} finally {
}
}
我的REST控制器如下所示:
@Path("modules")
@ApplicationScoped
@Produces("application/json")
public class MyApplication {
...
@GET
public List<Module> getModules() {
return modules;
}
}
Maven POM文件包含如下所示的插件:
<build>
<resources>
<resource>
<directory>${frontend.base}</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.meecrowave</groupId>
<artifactId>meecrowave-maven-plugin</artifactId>
<version>${mw.version}</version>
<configuration>
<httpPort>8082</httpPort>
<webResourceCached>false</webResourceCached>
<webapp>${frontend.base}/www</webapp>
</configuration>
</plugin>
</plugins>
</build>
我希望能够浏览到我的HTML文件: http://localhost:8082/
我希望能够浏览到我的Java REST资源: http://localhost:8082/modules
答案 0 :(得分:0)
默认情况下,jaxrs应用程序绑定在/ *上,因此与资源重叠,请尝试添加@ApplicationPath(“ / api”)左右,以便将其余端点放在api子上下文下,并且应该可以使用。