LoginSignup
0
0

More than 1 year has passed since last update.

jasperreportsの依存関係が弾かれてしまった

Posted at

前提:pom.xml

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>sample</groupId>
  <artifactId>sample</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>8</source>
          <target>8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <name>sample</name>
  <dependencies>
    <dependency>
      <groupId>net.sf.jasperreports</groupId>
      <artifactId>jasperreports</artifactId>
      <version>6.16.0</version>
    </dependency>
  </dependencies>
</project>

エラーの概要

コンパイルする際にjasperreportsの依存関係がMaven3の仕様により以下のエラーでブロックされてしまいました。

com.lowagie:itext:pom:2.1.7.js8 failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of maven-default-http-blocker has elapsed or updates are forced. Original error: Could not transfer artifact com.lowagie:itext:pom:2.1.7.js8 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [jaspersoft-third-party (http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/, default, releases+snapshots), jr-ce-releases (http://jaspersoft.jfrog.io/jaspersoft/jr-ce-releases, default, releases+snapshots)]

Since Maven 3.8.1 http repositories are blocked.

Possible solutions:
- Check that Maven pom files do not contain http repository http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/
- Check that Maven pom files do not contain http repository http://jaspersoft.jfrog.io/jaspersoft/jr-ce-releases
- Add a mirror(s) for http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/, http://jaspersoft.jfrog.io/jaspersoft/jr-ce-releases that allows http url in the Maven settings.xml
- Downgrade Maven to version 3.8.1 or earlier in settings

どうやら外部 HTTP リポジトリをデフォルトでブロックされているとのことです。
特定のHTTPアクセスを許可する場合にはmirror設定をsetting.xmlに追記しなければいけないようなのですが、
一旦エラーが出ているリポジトリにアクセスしてみました。
image.png

すると、HTTPS接続のリポジトリにリダイレクトされたため、リポジトリ指定すればいけるんじゃね? と思いpom.xmlに以下を追記しました。

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>sample</groupId>
  <artifactId>sample</artifactId>
  <version>0.0.1-SNAPSHOT</version>
+  <repositories>
+    <repository>
+      <id>jaspersoft-third-party</id>
+      <url>https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/</url>
+    </repository>
+  </repositories>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>8</source>
          <target>8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <name>sample</name>
  <dependencies>
    <dependency>
      <groupId>net.sf.jasperreports</groupId>
      <artifactId>jasperreports</artifactId>
      <version>6.16.0</version>
    </dependency>
  </dependencies>
</project>

Mavenをリロードしたところ、正常にコンパイルできました。やったー!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0