diff --git a/src/java/Makefile.in b/src/java/Makefile.in index 2f7e06c..c6be2fa 100644 --- a/src/java/Makefile.in +++ b/src/java/Makefile.in @@ -92,7 +92,7 @@ $(BINDIR)/java/%.class: %.java $(BINDIR)/java/$(PACKAGE_NAME)/terminal.class $(BINDIR)/java/$(PACKAGE_NAME)/%.class: %.java @echo $< ... @mkdir -p `dirname $@` - $(JAVAC) -encoding utf-8 -d $(BINDIR)/java $^ + @$(JAVAC) -encoding utf-8 -d $(BINDIR)/java $^ #---[ Release targets ]-------------------------------------------------------- @@ -104,7 +104,7 @@ $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(O $(CLASS_RELEASE_OBJECTS) @echo " LD `basename $@`" @$(MKDIR) `dirname $@` - $(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) $(OO_LDFLAGS) -o $@ $^ $(CLASS_LIBS) + @$(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) $(OO_LDFLAGS) -o $@ $^ $(CLASS_LIBS) #---[ Debug targets ]---------------------------------------------------------- @@ -119,7 +119,7 @@ $(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(O run: $(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@ $(BINDIR)/java/testprogram.class - java -Djava.library.path=$(BINDBG) -cp .bin/java/ testprogram + @LD_LIBRARY_PATH=../../.bin/Debug/lib/ java -Djava.library.path=$(BINDBG) -cp .bin/java/ testprogram #---[ Misc targets ]----------------------------------------------------------- diff --git a/src/java/main.cc b/src/java/main.cc index bd77b93..868ff7b 100644 --- a/src/java/main.cc +++ b/src/java/main.cc @@ -44,9 +44,17 @@ session * getHandle(JNIEnv *env, jobject obj) { JNIEXPORT jint JNICALL Java_pw3270_terminal_init(JNIEnv *env, jobject obj, jstring id) { - jlong handle = reinterpret_cast(session::create()); + try { + + jlong handle = reinterpret_cast(session::create()); + env->SetLongField(obj, getHandleField(env, obj), handle); + + } catch(std::exception &e) { + + env->ThrowNew(env->FindClass("java/lang/Exception"), e.what()); + + } - env->SetLongField(obj, getHandleField(env, obj), handle); return 0; } -- libgit2 0.21.2