Rami Del Toro
Rami Del Toro

Reputation: 1150

Check if library will work on a specific verion of Java

What approach can be taken to verify that a library is compatible on a specific version of Java?

Example: Library X was compiled on Java 1.7, therefor it might not work on Java 1.7 or lower.

Thank you.

Upvotes: 4

Views: 3070

Answers (2)

compile with the version you want:

javac -target ...

see that: How do i compile a .java with support for older versions of java?

and check jar dependencies: with Jdepend for example

Analyze JAR dependencies in a Java project

Upvotes: -1

khmarbaise
khmarbaise

Reputation: 97487

The best is to check the byte code via an enforcer rule which can be applied to your build by using the maven-enforcer-plugin...

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.4.1</version>
        <executions>
          <execution>
            <id>enforce-bytecode-version</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <enforceBytecodeVersion>
                  <maxJdkVersion>1.7</maxJdkVersion>
                </enforceBytecodeVersion>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>extra-enforcer-rules</artifactId>
            <version>1.0-beta-4</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

Upvotes: 6

Related Questions