'Using internal sun classes with javac
Is there a way to disable restrictions of javac 1.6.0_22 that prevent me from using JRE internal classes like sun.awt.event.* ?
I'm not looking for:
- an explanation why it is forbidden.
- suggestion to use different classes
- suggestion to use reflection
- suggestion to use ecj/eclipse
I just want to know if it is possible or not, and if it is then how.
Solution 1:[1]
In addition to the answer by @marcin-wisnicki if you're using Maven, note that the compiler plugin will silently drop any -XD flags, unless you also specify
<fork>true</fork>: e.g.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArgs>
<arg>-XDignore.symbol.file</arg>
</compilerArgs>
<fork>true</fork>
</configuration>
...
Solution 2:[2]
There's a better solution. First add the option to javac -XDenableSunApiLintControl and then use @SupressWarnings("sunapi") in your code.
Solution 3:[3]
Normally, this only produces a Warning message; e.g.
[javac] /media/disk/opensso2/opensso/products/federation/openfm/source/com/sun/identity/wss/xmlsig/WSSSignatureProvider.java:46: warning: com.sun.org.apache.xpath.internal.XPathAPI is Sun proprietary API and may be removed in a future release
[javac] import com.sun.org.apache.xpath.internal.XPathAPI;
Perhaps you have told the Java compiler to treat warnings as errors.
Solution 4:[4]
If you are using Gradle, you need to use these options
compileJava {
// enable using internal libraries
options.fork = true
options.forkOptions.executable = 'javac'
options.compilerArgs << '-XDignore.symbol.file' }
Solution 5:[5]
Another way is change jdk.
In my case project java version 1.8. I used from jdk 11. Therefore This error has found in my project. So I changed my jdk from 11 to 1.8. It has worked for me.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | davidxxx |
| Solution 2 | juancn |
| Solution 3 | Stephen C |
| Solution 4 | Kamiel Ahmadpour |
| Solution 5 | Orifjon Yunusjanov |
