0

jetty-runnerを使用してサーバー上でplantuml.warを実行しています。CORSのヘッダーを有効にする必要がありますが、これを行う方法はweb.xmlまたはoverride-web.xmlを指しています。サードパーティの web-桟橋ランナーのアプリ。これを jetty.xml で設定する方法がわかりません。Access-Control-Allow-Origin

Access-Control-Allow-Originjetty-runner 内でヘッダーを有効にする方法はありますか?

4

1 に答える 1

0

免責事項:これに関する詳細について助けてもらいました(私の答えは100%ではありません)。Windows 7 および Windows 8 with Java 7 でのみテストしました。

に加えてjetty-runner.jar、 も必要jetty-servlets.jarです。

override-web.xml次のようにファイルを追加します。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">

<filter>
  <filter-name>cross-origin</filter-name>
    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
    <init-param>
      <param-name>allowedOrigins</param-name>
      <param-value>*</param-value>
    </init-param>
    <init-param>
      <param-name>allowedMethods</param-name>
      <param-value>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
    </init-param>
    <init-param>
      <param-name>allowedHeaders</param-name>
      <param-value>origin, content-type, accept, authorization</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>cross-origin</filter-name>
    <url-pattern>*</url-pattern>
  </filter-mapping>

</web-app>

次に、jetty-web.xmlコンテキストを作成します

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="war">/</Set>
  <Set name="overrideDescriptor"><SystemProperty name="jetty.home" default="."/>/override-web.xml</Set>
</Configure>

PlantUML のサーバーを次のように実行します。

java -jar jetty-runner.jar --config jetty.xml --jar jetty-servlets.jar plantuml.war jetty-web.xml
于 2014-11-19T02:04:58.387 に答える