jnigi
jnigi copied to clipboard
Not able to find java class even after loading classpath
Hi, we tried using the jnigi to connect java to go but even when we load the classpath, it still says class not found. project structure:
project:
|
---- main.go
|
|
---- go.mod
|
|
---- go.sum
|
|
---- abc2.jar
main.go
package main
import (
"log"
"runtime"
"github.com/timob/jnigi"
)
func main() {
if err := jnigi.LoadJVMLib("/opt/homebrew/Cellar/openjdk@21/21.0.3/libexec/openjdk.jdk/Contents/Home/lib/server/libjvm.dylib"); err != nil {
log.Fatal(err)
}
runtime.LockOSThread()
_, env, err := jnigi.CreateJVM(jnigi.NewJVMInitArgs(false, true, jnigi.DEFAULT_VERSION, []string{"-Xcheck:jni", "-Xbootclasspath/a:./abc2.jar", "-verbose:class"}))
if err != nil {
log.Fatal(err)
}
cls, err := env.FindClass("com.person.Person")
if err != nil {
log.Fatalf("class not found, err: %v", err)
}
log.Println("found class", cls)
}
abc2.jar is a simple java project fat jar file which has a class com.person.Person
.
The ouput I am getting:
# command-line-arguments
ld: warning: '/private/var/folders/60/nq6yrbkx0flf1t4jn1qdg6vr0000gq/T/go-link-2269234384/go.o' has malformed LC_DYSYMTAB, expected 53 undefined symbols to start at index 3319, found 75 undefined symbols starting at index 15
[0.033s][info][class,load] opened: ./abc2.jar
[0.078s][info][class,load] java.lang.Object source: shared objects file
[0.079s][info][class,load] java.io.Serializable source: shared objects file
[0.079s][info][class,load] java.lang.Comparable source: shared objects file
[0.079s][info][class,load] java.lang.CharSequence source: shared objects file
[0.079s][info][class,load] java.lang.constant.Constable source: shared objects file
[0.079s][info][class,load] java.lang.constant.ConstantDesc source: shared objects file
[0.079s][info][class,load] java.lang.String source: shared objects file
[0.079s][info][class,load] java.lang.reflect.AnnotatedElement source: shared objects file
[0.079s][info][class,load] java.lang.reflect.GenericDeclaration source: shared objects file
[0.079s][info][class,load] java.lang.reflect.Type source: shared objects file
[0.079s][info][class,load] java.lang.invoke.TypeDescriptor source: shared objects file
[0.079s][info][class,load] java.lang.invoke.TypeDescriptor$OfField source: shared objects file
[0.079s][info][class,load] java.lang.Class source: shared objects file
[0.079s][info][class,load] java.lang.Cloneable source: shared objects file
[0.079s][info][class,load] java.lang.ClassLoader source: shared objects file
[0.079s][info][class,load] java.lang.System source: shared objects file
[0.079s][info][class,load] java.lang.Throwable source: shared objects file
[0.079s][info][class,load] java.lang.Error source: shared objects file
[0.079s][info][class,load] java.lang.Exception source: shared objects file
[0.079s][info][class,load] java.lang.RuntimeException source: shared objects file
[0.079s][info][class,load] java.lang.SecurityManager source: shared objects file
[0.079s][info][class,load] java.security.ProtectionDomain source: shared objects file
[0.079s][info][class,load] java.security.AccessControlContext source: shared objects file
[0.079s][info][class,load] java.security.AccessController source: shared objects file
[0.079s][info][class,load] java.security.SecureClassLoader source: shared objects file
[0.079s][info][class,load] java.lang.ReflectiveOperationException source: shared objects file
[0.079s][info][class,load] java.lang.ClassNotFoundException source: shared objects file
[0.079s][info][class,load] java.lang.Record source: shared objects file
[0.079s][info][class,load] java.lang.LinkageError source: shared objects file
[0.079s][info][class,load] java.lang.NoClassDefFoundError source: shared objects file
[0.079s][info][class,load] java.lang.ClassCastException source: shared objects file
[0.079s][info][class,load] java.lang.ArrayStoreException source: shared objects file
[0.079s][info][class,load] java.lang.VirtualMachineError source: shared objects file
[0.079s][info][class,load] java.lang.InternalError source: shared objects file
[0.079s][info][class,load] java.lang.OutOfMemoryError source: shared objects file
[0.079s][info][class,load] java.lang.StackOverflowError source: shared objects file
[0.079s][info][class,load] java.lang.IllegalMonitorStateException source: shared objects file
[0.079s][info][class,load] java.lang.ref.Reference source: shared objects file
[0.079s][info][class,load] java.lang.ref.SoftReference source: shared objects file
[0.079s][info][class,load] java.lang.ref.WeakReference source: shared objects file
[0.079s][info][class,load] java.lang.ref.FinalReference source: shared objects file
[0.079s][info][class,load] java.lang.ref.PhantomReference source: shared objects file
[0.079s][info][class,load] java.lang.ref.Finalizer source: shared objects file
[0.079s][info][class,load] java.lang.Runnable source: shared objects file
[0.079s][info][class,load] java.lang.Thread source: shared objects file
[0.079s][info][class,load] java.lang.Thread$FieldHolder source: shared objects file
[0.079s][info][class,load] java.lang.Thread$Constants source: shared objects file
[0.079s][info][class,load] java.lang.Thread$UncaughtExceptionHandler source: shared objects file
[0.079s][info][class,load] java.lang.ThreadGroup source: shared objects file
[0.079s][info][class,load] java.lang.BaseVirtualThread source: shared objects file
[0.079s][info][class,load] java.lang.VirtualThread source: shared objects file
[0.079s][info][class,load] java.lang.ThreadBuilders$BoundVirtualThread source: shared objects file
[0.080s][info][class,load] java.util.Dictionary source: shared objects file
[0.080s][info][class,load] java.util.Map source: shared objects file
[0.080s][info][class,load] java.util.Hashtable source: shared objects file
[0.080s][info][class,load] java.util.Properties source: shared objects file
[0.080s][info][class,load] java.lang.Module source: shared objects file
[0.080s][info][class,load] java.lang.reflect.AccessibleObject source: shared objects file
[0.080s][info][class,load] java.lang.reflect.Member source: shared objects file
[0.080s][info][class,load] java.lang.reflect.Field source: shared objects file
[0.080s][info][class,load] java.lang.reflect.Parameter source: shared objects file
[0.080s][info][class,load] java.lang.reflect.Executable source: shared objects file
[0.080s][info][class,load] java.lang.reflect.Method source: shared objects file
[0.080s][info][class,load] java.lang.reflect.Constructor source: shared objects file
[0.080s][info][class,load] jdk.internal.vm.ContinuationScope source: shared objects file
[0.080s][info][class,load] jdk.internal.vm.Continuation source: shared objects file
[0.080s][info][class,load] jdk.internal.vm.StackChunk source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.MagicAccessorImpl source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.MethodAccessor source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.MethodAccessorImpl source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.ConstructorAccessor source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.ConstructorAccessorImpl source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.DelegatingClassLoader source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.ConstantPool source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.FieldAccessor source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.FieldAccessorImpl source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.UnsafeFieldAccessorImpl source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.UnsafeStaticFieldAccessorImpl source: shared objects file
[0.080s][info][class,load] java.lang.annotation.Annotation source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.CallerSensitive source: shared objects file
[0.080s][info][class,load] jdk.internal.reflect.NativeConstructorAccessorImpl source: shared objects file
[0.080s][info][class,load] java.lang.invoke.MethodHandle source: shared objects file
[0.080s][info][class,load] java.lang.invoke.DirectMethodHandle source: shared objects file
[0.080s][info][class,load] java.lang.invoke.VarHandle source: shared objects file
[0.080s][info][class,load] java.lang.invoke.MemberName source: shared objects file
[0.080s][info][class,load] java.lang.invoke.ResolvedMethodName source: shared objects file
[0.080s][info][class,load] java.lang.invoke.MethodHandleNatives source: shared objects file
[0.080s][info][class,load] java.lang.invoke.LambdaForm source: shared objects file
[0.080s][info][class,load] java.lang.invoke.TypeDescriptor$OfMethod source: shared objects file
[0.080s][info][class,load] java.lang.invoke.MethodType source: shared objects file
[0.080s][info][class,load] java.lang.BootstrapMethodError source: shared objects file
[0.080s][info][class,load] java.lang.invoke.CallSite source: shared objects file
[0.080s][info][class,load] jdk.internal.foreign.abi.NativeEntryPoint source: shared objects file
[0.080s][info][class,load] jdk.internal.foreign.abi.ABIDescriptor source: shared objects file
[0.080s][info][class,load] jdk.internal.foreign.abi.VMStorage source: shared objects file
[0.080s][info][class,load] jdk.internal.foreign.abi.UpcallLinker$CallRegs source: shared objects file
[0.080s][info][class,load] java.lang.invoke.MethodHandleNatives$CallSiteContext source: shared objects file
[0.080s][info][class,load] java.lang.invoke.ConstantCallSite source: shared objects file
[0.080s][info][class,load] java.lang.invoke.MutableCallSite source: shared objects file
[0.080s][info][class,load] java.lang.invoke.VolatileCallSite source: shared objects file
[0.080s][info][class,load] java.lang.AssertionStatusDirectives source: shared objects file
[0.080s][info][class,load] java.lang.Appendable source: shared objects file
[0.080s][info][class,load] java.lang.AbstractStringBuilder source: shared objects file
[0.080s][info][class,load] java.lang.StringBuffer source: shared objects file
[0.080s][info][class,load] java.lang.StringBuilder source: shared objects file
[0.080s][info][class,load] jdk.internal.misc.UnsafeConstants source: shared objects file
[0.080s][info][class,load] jdk.internal.misc.Unsafe source: shared objects file
[0.080s][info][class,load] jdk.internal.module.Modules source: shared objects file
[0.080s][info][class,load] java.lang.AutoCloseable source: shared objects file
[0.080s][info][class,load] java.io.Closeable source: shared objects file
[0.080s][info][class,load] java.io.InputStream source: shared objects file
[0.080s][info][class,load] java.io.ByteArrayInputStream source: shared objects file
[0.080s][info][class,load] java.net.URL source: shared objects file
[0.080s][info][class,load] java.net.URLClassLoader source: shared objects file
[0.080s][info][class,load] java.lang.Enum source: shared objects file
[0.080s][info][class,load] java.util.jar.Manifest source: shared objects file
[0.080s][info][class,load] jdk.internal.loader.BuiltinClassLoader source: shared objects file
[0.080s][info][class,load] jdk.internal.loader.ClassLoaders source: shared objects file
[0.080s][info][class,load] jdk.internal.loader.ClassLoaders$AppClassLoader source: shared objects file
[0.080s][info][class,load] jdk.internal.loader.ClassLoaders$PlatformClassLoader source: shared objects file
[0.080s][info][class,load] java.security.CodeSource source: shared objects file
[0.080s][info][class,load] java.util.AbstractMap source: shared objects file
[0.080s][info][class,load] java.util.concurrent.ConcurrentMap source: shared objects file
[0.080s][info][class,load] java.util.concurrent.ConcurrentHashMap source: shared objects file
[0.081s][info][class,load] java.lang.Iterable source: shared objects file
[0.081s][info][class,load] java.util.Collection source: shared objects file
[0.081s][info][class,load] java.util.AbstractCollection source: shared objects file
[0.081s][info][class,load] java.util.SequencedCollection source: shared objects file
[0.081s][info][class,load] java.util.List source: shared objects file
[0.081s][info][class,load] java.util.AbstractList source: shared objects file
[0.081s][info][class,load] java.util.RandomAccess source: shared objects file
[0.081s][info][class,load] java.util.ArrayList source: shared objects file
[0.081s][info][class,load] java.lang.StackTraceElement source: shared objects file
[0.081s][info][class,load] java.nio.Buffer source: shared objects file
[0.081s][info][class,load] java.lang.StackWalker source: shared objects file
[0.081s][info][class,load] java.lang.StackStreamFactory$AbstractStackWalker source: shared objects file
[0.081s][info][class,load] java.lang.StackWalker$StackFrame source: shared objects file
[0.081s][info][class,load] java.lang.StackFrameInfo source: shared objects file
[0.081s][info][class,load] java.lang.LiveStackFrame source: shared objects file
[0.081s][info][class,load] java.lang.LiveStackFrameInfo source: shared objects file
[0.081s][info][class,load] java.util.concurrent.locks.AbstractOwnableSynchronizer source: shared objects file
[0.081s][info][class,load] java.lang.Boolean source: shared objects file
[0.081s][info][class,load] java.lang.Character source: shared objects file
[0.081s][info][class,load] java.lang.Number source: shared objects file
[0.081s][info][class,load] java.lang.Float source: shared objects file
[0.081s][info][class,load] java.lang.Double source: shared objects file
[0.081s][info][class,load] java.lang.Byte source: shared objects file
[0.081s][info][class,load] java.lang.Short source: shared objects file
[0.081s][info][class,load] java.lang.Integer source: shared objects file
[0.081s][info][class,load] java.lang.Long source: shared objects file
[0.081s][info][class,load] java.util.Iterator source: shared objects file
[0.081s][info][class,load] java.lang.reflect.RecordComponent source: shared objects file
[0.081s][info][class,load] jdk.internal.vm.vector.VectorSupport source: shared objects file
[0.081s][info][class,load] jdk.internal.vm.vector.VectorSupport$VectorPayload source: shared objects file
[0.081s][info][class,load] jdk.internal.vm.vector.VectorSupport$Vector source: shared objects file
[0.081s][info][class,load] jdk.internal.vm.vector.VectorSupport$VectorMask source: shared objects file
[0.081s][info][class,load] jdk.internal.vm.vector.VectorSupport$VectorShuffle source: shared objects file
[0.081s][info][class,load] jdk.internal.vm.FillerObject source: shared objects file
[0.081s][info][class,load] java.lang.Integer$IntegerCache source: shared objects file
[0.081s][info][class,load] java.lang.Long$LongCache source: shared objects file
[0.081s][info][class,load] java.lang.Byte$ByteCache source: shared objects file
[0.081s][info][class,load] java.lang.Short$ShortCache source: shared objects file
[0.081s][info][class,load] java.lang.Character$CharacterCache source: shared objects file
[0.081s][info][class,load] java.util.jar.Attributes$Name source: shared objects file
[0.081s][info][class,load] java.util.ImmutableCollections$AbstractImmutableMap source: shared objects file
[0.081s][info][class,load] java.util.ImmutableCollections$MapN source: shared objects file
[0.081s][info][class,load] sun.util.locale.BaseLocale source: shared objects file
[0.081s][info][class,load] jdk.internal.module.ArchivedModuleGraph source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleFinder source: shared objects file
[0.081s][info][class,load] jdk.internal.module.SystemModuleFinders$SystemModuleFinder source: shared objects file
[0.081s][info][class,load] java.util.ImmutableCollections$AbstractImmutableCollection source: shared objects file
[0.081s][info][class,load] java.util.Set source: shared objects file
[0.081s][info][class,load] java.util.ImmutableCollections$AbstractImmutableSet source: shared objects file
[0.081s][info][class,load] java.util.ImmutableCollections$SetN source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleReference source: shared objects file
[0.081s][info][class,load] jdk.internal.module.ModuleReferenceImpl source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleDescriptor source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleDescriptor$Version source: shared objects file
[0.081s][info][class,load] java.util.ImmutableCollections$Set12 source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleDescriptor$Requires source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleDescriptor$Requires$Modifier source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleDescriptor$Exports source: shared objects file
[0.081s][info][class,load] java.lang.module.ModuleDescriptor$Provides source: shared objects file
[0.082s][info][class,load] java.util.ImmutableCollections$AbstractImmutableList source: shared objects file
[0.082s][info][class,load] java.util.ImmutableCollections$List12 source: shared objects file
[0.082s][info][class,load] java.net.URI source: shared objects file
[0.082s][info][class,load] java.util.function.Supplier source: shared objects file
[0.082s][info][class,load] jdk.internal.module.SystemModuleFinders$2 source: shared objects file
[0.082s][info][class,load] jdk.internal.module.ModuleHashes$HashSupplier source: shared objects file
[0.082s][info][class,load] jdk.internal.module.SystemModuleFinders$3 source: shared objects file
[0.082s][info][class,load] java.lang.module.ModuleDescriptor$Opens source: shared objects file
[0.082s][info][class,load] java.util.ImmutableCollections$ListN source: shared objects file
[0.082s][info][class,load] jdk.internal.module.ModuleTarget source: shared objects file
[0.082s][info][class,load] jdk.internal.module.ModuleHashes source: shared objects file
[0.082s][info][class,load] java.util.Collections$UnmodifiableMap source: shared objects file
[0.082s][info][class,load] java.util.HashMap source: shared objects file
[0.082s][info][class,load] java.util.Map$Entry source: shared objects file
[0.082s][info][class,load] java.util.HashMap$Node source: shared objects file
[0.082s][info][class,load] java.lang.module.Configuration source: shared objects file
[0.082s][info][class,load] java.lang.module.ResolvedModule source: shared objects file
[0.082s][info][class,load] java.util.function.Function source: shared objects file
[0.082s][info][class,load] jdk.internal.module.ModuleLoaderMap$Mapper source: shared objects file
[0.082s][info][class,load] java.util.ImmutableCollections source: shared objects file
[0.082s][info][class,load] java.lang.ModuleLayer source: shared objects file
[0.082s][info][class,load] jdk.internal.math.FDBigInteger source: shared objects file
[0.083s][info][class,load] java.lang.NullPointerException source: shared objects file
[0.083s][info][class,load] java.lang.ArithmeticException source: shared objects file
[0.084s][info][class,load] java.io.ObjectStreamField source: shared objects file
[0.084s][info][class,load] java.util.Comparator source: shared objects file
[0.084s][info][class,load] java.lang.String$CaseInsensitiveComparator source: shared objects file
[0.084s][info][class,load] jdk.internal.misc.VM source: shared objects file
[0.084s][info][class,load] java.lang.Module$ArchivedData source: shared objects file
[0.084s][info][class,load] jdk.internal.misc.CDS source: shared objects file
[0.085s][info][class,load] java.util.Objects source: shared objects file
[0.085s][info][class,load] jdk.internal.access.JavaLangReflectAccess source: shared objects file
[0.085s][info][class,load] java.lang.reflect.ReflectAccess source: shared objects file
[0.085s][info][class,load] jdk.internal.access.SharedSecrets source: shared objects file
[0.085s][info][class,load] java.security.PrivilegedAction source: shared objects file
[0.085s][info][class,load] jdk.internal.reflect.ReflectionFactory$GetReflectionFactoryAction source: shared objects file
[0.085s][info][class,load] jdk.internal.reflect.Reflection source: shared objects file
[0.085s][info][class,load] java.lang.StringLatin1 source: shared objects file
[0.085s][info][class,load] java.lang.Math source: shared objects file
[0.086s][info][class,load] jdk.internal.reflect.ReflectionFactory source: shared objects file
[0.086s][info][class,load] jdk.internal.reflect.ReflectionFactory$Config source: shared objects file
[0.086s][info][class,load] jdk.internal.access.JavaLangRefAccess source: shared objects file
[0.086s][info][class,load] java.lang.ref.Reference$1 source: shared objects file
[0.086s][info][class,load] java.lang.ref.ReferenceQueue source: shared objects file
[0.086s][info][class,load] java.lang.ref.NativeReferenceQueue source: shared objects file
[0.086s][info][class,load] java.lang.ref.ReferenceQueue$Null source: shared objects file
[0.086s][info][class,load] java.lang.ref.NativeReferenceQueue$Lock source: shared objects file
[0.086s][info][class,load] jdk.internal.access.JavaLangAccess source: shared objects file
[0.086s][info][class,load] java.lang.System$2 source: shared objects file
[0.086s][info][class,load] jdk.internal.util.SystemProps source: shared objects file
[0.086s][info][class,load] jdk.internal.util.SystemProps$Raw source: shared objects file
[0.096s][info][class,load] java.nio.charset.Charset source: shared objects file
[0.096s][info][class,load] java.nio.charset.spi.CharsetProvider source: shared objects file
[0.096s][info][class,load] sun.nio.cs.StandardCharsets source: shared objects file
[0.096s][info][class,load] sun.nio.cs.HistoricallyNamedCharset source: shared objects file
[0.096s][info][class,load] sun.nio.cs.Unicode source: shared objects file
[0.096s][info][class,load] sun.nio.cs.UTF_8 source: shared objects file
[0.097s][info][class,load] jdk.internal.util.ArraysSupport source: shared objects file
[0.097s][info][class,load] java.util.LinkedHashMap$Entry source: shared objects file
[0.097s][info][class,load] java.util.HashMap$TreeNode source: shared objects file
[0.097s][info][class,load] java.lang.StringConcatHelper source: shared objects file
[0.097s][info][class,load] java.lang.VersionProps source: shared objects file
[0.097s][info][class,load] java.lang.Runtime source: shared objects file
[0.097s][info][class,load] jdk.internal.util.Preconditions source: shared objects file
[0.097s][info][class,load] jdk.internal.util.Preconditions$1 source: shared objects file
[0.097s][info][class,load] java.util.function.BiFunction source: shared objects file
[0.097s][info][class,load] jdk.internal.util.Preconditions$4 source: shared objects file
[0.097s][info][class,load] jdk.internal.util.Preconditions$2 source: shared objects file
[0.097s][info][class,load] jdk.internal.util.Preconditions$3 source: shared objects file
[0.097s][info][class,load] java.util.Arrays source: shared objects file
[0.097s][info][class,load] java.lang.CharacterData source: shared objects file
[0.097s][info][class,load] java.lang.CharacterDataLatin1 source: shared objects file
[0.097s][info][class,load] java.util.concurrent.locks.Lock source: shared objects file
[0.097s][info][class,load] java.util.concurrent.locks.ReentrantLock source: shared objects file
[0.097s][info][class,load] java.util.concurrent.ConcurrentHashMap$Segment source: shared objects file
[0.098s][info][class,load] java.util.concurrent.ConcurrentHashMap$CounterCell source: shared objects file
[0.098s][info][class,load] java.util.concurrent.ConcurrentHashMap$Node source: shared objects file
[0.098s][info][class,load] java.util.concurrent.locks.LockSupport source: shared objects file
[0.098s][info][class,load] java.util.concurrent.ConcurrentHashMap$ReservationNode source: shared objects file
[0.098s][info][class,load] java.util.AbstractSet source: shared objects file
[0.098s][info][class,load] java.util.HashMap$EntrySet source: shared objects file
[0.098s][info][class,load] java.util.HashMap$HashIterator source: shared objects file
[0.098s][info][class,load] java.util.HashMap$EntryIterator source: shared objects file
[0.098s][info][class,load] jdk.internal.util.StaticProperty source: shared objects file
[0.098s][info][class,load] java.io.FileInputStream source: shared objects file
[0.098s][info][class,load] java.io.FileDescriptor source: shared objects file
[0.098s][info][class,load] jdk.internal.access.JavaIOFileDescriptorAccess source: shared objects file
[0.098s][info][class,load] java.io.FileDescriptor$1 source: shared objects file
[0.098s][info][class,load] java.io.Flushable source: shared objects file
[0.098s][info][class,load] java.io.OutputStream source: shared objects file
[0.098s][info][class,load] java.io.FileOutputStream source: shared objects file
[0.098s][info][class,load] java.io.FilterInputStream source: shared objects file
[0.098s][info][class,load] java.io.BufferedInputStream source: shared objects file
[0.098s][info][class,load] jdk.internal.misc.InternalLock source: shared objects file
[0.098s][info][class,load] java.util.concurrent.locks.AbstractQueuedSynchronizer source: shared objects file
[0.098s][info][class,load] java.util.concurrent.locks.ReentrantLock$Sync source: shared objects file
[0.098s][info][class,load] java.util.concurrent.locks.ReentrantLock$NonfairSync source: shared objects file
[0.098s][info][class,load] java.io.FilterOutputStream source: shared objects file
[0.098s][info][class,load] java.io.PrintStream source: shared objects file
[0.098s][info][class,load] jdk.internal.access.JavaIOPrintStreamAccess source: shared objects file
[0.098s][info][class,load] java.io.PrintStream$1 source: shared objects file
[0.098s][info][class,load] java.io.BufferedOutputStream source: shared objects file
[0.098s][info][class,load] java.io.Writer source: shared objects file
[0.098s][info][class,load] java.io.OutputStreamWriter source: shared objects file
[0.098s][info][class,load] sun.nio.cs.StreamEncoder source: shared objects file
[0.100s][info][class,load] java.nio.charset.CharsetEncoder source: shared objects file
[0.100s][info][class,load] sun.nio.cs.UTF_8$Encoder source: jrt:/java.base
[0.100s][info][class,load] java.nio.charset.CodingErrorAction source: shared objects file
[0.100s][info][class,load] java.nio.ByteBuffer source: shared objects file
[0.100s][info][class,load] jdk.internal.misc.ScopedMemoryAccess source: shared objects file
[0.100s][info][class,load] java.nio.Buffer$1 source: shared objects file
[0.100s][info][class,load] jdk.internal.access.JavaNioAccess source: shared objects file
[0.100s][info][class,load] java.nio.Buffer$2 source: shared objects file
[0.100s][info][class,load] java.nio.HeapByteBuffer source: shared objects file
[0.100s][info][class,load] java.nio.ByteOrder source: shared objects file
[0.100s][info][class,load] java.io.BufferedWriter source: shared objects file
[0.100s][info][class,load] java.lang.Terminator source: shared objects file
[0.100s][info][class,load] jdk.internal.misc.Signal$Handler source: shared objects file
[0.100s][info][class,load] java.lang.Terminator$1 source: shared objects file
[0.100s][info][class,load] jdk.internal.misc.Signal source: shared objects file
[0.100s][info][class,load] java.util.Hashtable$Entry source: shared objects file
[0.100s][info][class,load] jdk.internal.misc.Signal$NativeHandler source: shared objects file
[0.100s][info][class,load] jdk.internal.misc.OSEnvironment source: shared objects file
[0.100s][info][class,load] java.lang.Thread$State source: shared objects file
[0.100s][info][class,load] java.lang.ref.Reference$ReferenceHandler source: shared objects file
[0.100s][info][class,load] java.lang.Thread$ThreadIdentifiers source: shared objects file
[0.100s][info][class,load] java.lang.ref.Finalizer$FinalizerThread source: shared objects file
[0.100s][info][class,load] jdk.internal.ref.Cleaner source: shared objects file
[0.101s][info][class,load] java.util.Collections source: shared objects file
[0.101s][info][class,load] jdk.internal.misc.Blocker source: shared objects file
[0.101s][info][class,load] java.util.Collections$EmptySet source: shared objects file
[0.101s][info][class,load] java.util.concurrent.locks.Condition source: shared objects file
[0.101s][info][class,load] java.util.Collections$EmptyList source: shared objects file
[0.101s][info][class,load] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject source: shared objects file
[0.101s][info][class,load] java.util.Collections$EmptyMap source: shared objects file
[0.101s][info][class,load] java.lang.IllegalArgumentException source: shared objects file
[0.101s][info][class,load] java.lang.invoke.MethodHandleStatics source: shared objects file
[0.101s][info][class,load] java.lang.reflect.ClassFileFormatVersion source: shared objects file
[0.101s][info][class,load] sun.security.action.GetPropertyAction source: shared objects file
[0.101s][info][class,load] jdk.internal.util.ClassFileDumper source: shared objects file
[0.102s][info][class,load] java.util.HexFormat source: shared objects file
[0.102s][info][class,load] java.util.concurrent.atomic.AtomicInteger source: shared objects file
[0.102s][info][class,load] jdk.internal.module.ModuleBootstrap source: shared objects file
[0.102s][info][class,load] java.lang.invoke.MethodHandles source: shared objects file
[0.102s][info][class,load] java.lang.invoke.MemberName$Factory source: shared objects file
[0.102s][info][class,load] java.lang.invoke.MethodHandles$Lookup source: shared objects file
[0.102s][info][class,load] java.lang.StrictMath source: shared objects file
[0.102s][info][class,load] java.util.ImmutableCollections$MapN$1 source: shared objects file
[0.102s][info][class,load] java.util.ImmutableCollections$MapN$MapNIterator source: shared objects file
[0.102s][info][class,load] java.util.KeyValueHolder source: shared objects file
[0.102s][info][class,load] sun.invoke.util.VerifyAccess source: shared objects file
[0.103s][info][class,load] java.lang.reflect.Modifier source: shared objects file
[0.103s][info][class,load] jdk.internal.access.JavaLangModuleAccess source: shared objects file
[0.103s][info][class,load] java.lang.module.ModuleDescriptor$1 source: shared objects file
[0.103s][info][class,load] java.io.File source: shared objects file
[0.103s][info][class,load] java.io.DefaultFileSystem source: shared objects file
[0.103s][info][class,load] java.io.FileSystem source: shared objects file
[0.103s][info][class,load] java.io.UnixFileSystem source: shared objects file
[0.103s][info][class,load] jdk.internal.module.ModulePatcher source: shared objects file
[0.103s][info][class,load] java.util.HashSet source: shared objects file
[0.103s][info][class,load] jdk.internal.module.ModuleBootstrap$Counters source: shared objects file
[0.103s][info][class,load] jdk.internal.module.ArchivedBootLayer source: shared objects file
[0.103s][info][class,load] jdk.internal.access.JavaNetUriAccess source: shared objects file
[0.103s][info][class,load] java.net.URI$1 source: shared objects file
[0.103s][info][class,load] jdk.internal.loader.ArchivedClassLoaders source: shared objects file
[0.103s][info][class,load] jdk.internal.loader.URLClassPath source: shared objects file
[0.103s][info][class,load] java.net.URLStreamHandlerFactory source: shared objects file
[0.103s][info][class,load] java.net.URL$DefaultFactory source: shared objects file
[0.103s][info][class,load] jdk.internal.access.JavaNetURLAccess source: shared objects file
[0.103s][info][class,load] java.net.URL$3 source: shared objects file
[0.104s][info][class,load] java.io.File$PathStatus source: shared objects file
[0.104s][info][class,load] sun.net.www.ParseUtil source: shared objects file
[0.104s][info][class,load] java.net.URLStreamHandler source: shared objects file
[0.104s][info][class,load] sun.net.www.protocol.file.Handler source: shared objects file
[0.104s][info][class,load] sun.net.util.IPAddressUtil source: shared objects file
[0.104s][info][class,load] sun.net.util.IPAddressUtil$MASKS source: shared objects file
[0.104s][info][class,load] java.util.Queue source: shared objects file
[0.104s][info][class,load] java.util.Deque source: shared objects file
[0.104s][info][class,load] java.util.ArrayDeque source: shared objects file
[0.104s][info][class,load] sun.net.www.protocol.jar.Handler source: shared objects file
[0.104s][info][class,load] jdk.internal.loader.ClassLoaders$BootClassLoader source: shared objects file
[0.104s][info][class,load] java.security.cert.Certificate source: shared objects file
[0.104s][info][class,load] java.lang.ClassLoader$ParallelLoaders source: shared objects file
[0.104s][info][class,load] java.util.WeakHashMap source: shared objects file
[0.104s][info][class,load] java.util.WeakHashMap$Entry source: shared objects file
[0.104s][info][class,load] java.util.Collections$SetFromMap source: shared objects file
[0.104s][info][class,load] java.util.WeakHashMap$KeySet source: shared objects file
[0.105s][info][class,load] jdk.internal.access.JavaSecurityAccess source: shared objects file
[0.105s][info][class,load] java.security.ProtectionDomain$JavaSecurityAccessImpl source: shared objects file
[0.105s][info][class,load] java.security.ProtectionDomain$Key source: shared objects file
[0.105s][info][class,load] java.security.Principal source: shared objects file
[0.105s][info][class,load] jdk.internal.loader.NativeLibraries source: shared objects file
[0.105s][info][class,load] jdk.internal.loader.ClassLoaderHelper source: shared objects file
[0.105s][info][class,load] jdk.internal.util.OSVersion source: shared objects file
[0.105s][info][class,load] java.util.concurrent.ConcurrentHashMap$CollectionView source: shared objects file
[0.105s][info][class,load] java.util.concurrent.ConcurrentHashMap$KeySetView source: shared objects file
[0.105s][info][class,load] jdk.internal.module.ServicesCatalog source: shared objects file
[0.105s][info][class,load] jdk.internal.loader.AbstractClassLoaderValue source: shared objects file
[0.105s][info][class,load] jdk.internal.loader.ClassLoaderValue source: shared objects file
[0.105s][info][class,load] java.util.Optional source: shared objects file
[0.105s][info][class,load] jdk.internal.loader.BootLoader source: shared objects file
[0.105s][info][class,load] java.lang.Module$EnableNativeAccess source: shared objects file
[0.106s][info][class,load] jdk.internal.loader.BuiltinClassLoader$LoadedModule source: shared objects file
[0.106s][info][class,load] java.util.ImmutableCollections$SetN$SetNIterator source: shared objects file
[0.106s][info][class,load] java.util.ImmutableCollections$Set12$1 source: shared objects file
[0.107s][info][class,load] java.util.ListIterator source: shared objects file
[0.107s][info][class,load] java.util.ImmutableCollections$ListItr source: shared objects file
[0.107s][info][class,load] jdk.internal.module.ModuleLoaderMap source: shared objects file
[0.110s][info][class,load] jdk.internal.loader.AbstractClassLoaderValue$Memoizer source: shared objects file
[0.110s][info][class,load] jdk.internal.module.ServicesCatalog$ServiceProvider source: shared objects file
[0.110s][info][class,load] java.util.concurrent.CopyOnWriteArrayList source: shared objects file
[0.110s][info][class,load] java.util.HashMap$KeySet source: shared objects file
[0.110s][info][class,load] java.util.HashMap$KeyIterator source: shared objects file
[0.110s][info][class,load] java.lang.ModuleLayer$Controller source: shared objects file
[0.110s][info][class,load] java.lang.invoke.StringConcatFactory source: shared objects file
[0.111s][info][class,load] com.person.Person source: ./abc2.jar
Exception in thread "main" [0.116s][info][class,load] java.lang.Throwable$PrintStreamOrWriter source: jrt:/java.base
[0.116s][info][class,load] java.lang.Throwable$WrappedPrintStream source: jrt:/java.base
[0.116s][info][class,load] java.util.IdentityHashMap source: shared objects file
[0.116s][info][class,load] java.util.IdentityHashMap$KeySet source: shared objects file
[0.116s][info][class,load] java.lang.Readable source: shared objects file
[0.116s][info][class,load] java.nio.CharBuffer source: shared objects file
[0.116s][info][class,load] java.nio.HeapCharBuffer source: shared objects file
[0.116s][info][class,load] java.lang.StringCoding source: shared objects file
[0.116s][info][class,load] java.nio.charset.CoderResult source: shared objects file
[0.116s][info][class,load] java.util.concurrent.ForkJoinWorkerThread source: shared objects file
[0.116s][info][class,load] jdk.internal.misc.CarrierThread source: shared objects file
java.lang.NoClassDefFoundError: com.person.Person
2024/07/12 16:58:22 class not found, err: Java exception occurred. check stderr/logcat
exit status 1
Any recommendations/suggestions to solve this?