Hi Max,
I can give you some guidance but no quick fixes ...
On 7/08/2018 4:21 AM, mr rupplin wrote:
Three problems that I run into when running the 'make jdk' after minor work on
the System.java class for JNI and custom JDK:
java/lang/memory/GroupListener.java:111: warning: [rawtypes] found raw type:
Class
Class basetype = null;
You are using a raw type - hence the warning. If you don't know what a
raw type is then you need to do a refresher on Java's generic types. Fix
is to not use a raw type e.g.:
Class<?> baseType = null;
but it will also depend on how baseType is used.
java/lang/memory/GroupListener.java:7: error: package java.rmi does not exist
import java.rmi.Remote;
In OpenJDK 9 you are using the new modular JDK. All of the core packages
in java.lang are in the java.base module. The java.rmi package is in the
java.rmi module. The base module, by design, can not have any
dependencies on any other module - as all other modules implicitly
depend on the base module. So while you would normally fix this by
telling the javac compiler to consider the java.rmi module (sorry not
sure exact flags to use) in this case I don't think you have that
option. It may be easier to define your custom classes in a different
package, ie in javax.lang.memory, outside of the base module.
java/lang/memory/GroupListener.java:13: warning: [exports] class Group in
module java.base is not accessible to clients that require this module
public final ArrayList<Group> groups = new ArrayList<Group>();
When you add new packages to a module that you need other code to be
able to access from outside the module, you have to update the
module-info.java file, for that module, to export those packages.
David
-----
== ==
Can we get explanations for each of these? Also the solutions or workarounds.
OkQ!
Thanks,
Max R.
Software Lead