Jump to content

Recommended Posts

Posted

Sup!

 

I'm trying to use JRebel (free Social Plan) with Minecraft Forge to make code changes without restarting Minecraft.

 

Encountered an issue: Forge reports error during startup. Console log below:

 

 

[2012-12-27 18:05:55] Contacting myJRebel server ..

[2012-12-27 18:05:57]

[2012-12-27 18:05:57] #############################################################

[2012-12-27 18:05:57]

[2012-12-27 18:05:57]  JRebel 5.1.2 (201212171004)

[2012-12-27 18:05:57]  © Copyright ZeroTurnaround OU, Estonia, Tartu.

[2012-12-27 18:05:57]

[2012-12-27 18:05:57]  Over the last 1 days JRebel prevented

[2012-12-27 18:05:57]  at least 1 redeploys/restarts saving you about 0 hours.

[2012-12-27 18:05:57]

[2012-12-27 18:05:57]  This product is licensed to Maxim Litvinov

[2012-12-27 18:05:57]

[2012-12-27 18:05:57]  License acquired through myJRebel server.

[2012-12-27 18:05:57]

[2012-12-27 18:05:57]  You are subscribed for the plan "JRebel Social Plan",

[2012-12-27 18:05:57]  subscription is for lifetime.

[2012-12-27 18:05:57]  next license check with the server is required by 2013-01-26.

[2012-12-27 18:05:57]

[2012-12-27 18:05:57]  The following plugins are disabled at the moment:

[2012-12-27 18:05:57]  * Camel plugin (set -Drebel.camel_plugin=true to enable)

[2012-12-27 18:05:57]  * Click plugin (set -Drebel.click_plugin=true to enable)

[2012-12-27 18:05:57]  * JRuby Plugin (set -Drebel.jruby_plugin=true to enable)

[2012-12-27 18:05:57]  * Jersey plugin (set -Drebel.jersey_plugin=true to enable)

[2012-12-27 18:05:57]  * Oracle ADF Core plugin (set -Drebel.adf_core_plugin=true to enable)

[2012-12-27 18:05:57]  * Oracle ADF Faces plugin (set -Drebel.adf_faces_plugin=true to enable)

[2012-12-27 18:05:57]  * RESTlet plugin (set -Drebel.restlet_plugin=true to enable)

[2012-12-27 18:05:57]  * Seam-Wicket plugin (set -Drebel.seam_wicket_plugin=true to enable)

[2012-12-27 18:05:57]  * Spring Data Plugin (set -Drebel.spring_data_plugin=true to enable)

[2012-12-27 18:05:57]  * WebObjects plugin (set -Drebel.webobjects_plugin=true to enable)

[2012-12-27 18:05:57]

[2012-12-27 18:05:57] #############################################################

[2012-12-27 18:05:57]

[2012-12-27 18:05:57] JRebel: Directory '/Users/metalim/Downloads/mc/forge/mcp/eclipse/Minecraft/bin' will be monitored for changes.

2012-12-27 18:05:59 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.6.12.511 for Minecraft 1.4.6 loading

2012-12-27 18:05:59 [FINEST] [ForgeModLoader] All core mods are successfully located

2012-12-27 18:05:59 [FINEST] [ForgeModLoader] Discovering coremods

2012-12-27 18:05:59 [FINEST] [ForgeModLoader] Found library file argo-2.25.jar present and correct in lib dir

2012-12-27 18:05:59 [FINEST] [ForgeModLoader] Found library file guava-12.0.1.jar present and correct in lib dir

2012-12-27 18:05:59 [FINEST] [ForgeModLoader] Found library file asm-all-4.0.jar present and correct in lib dir

2012-12-27 18:05:59 [FINEST] [ForgeModLoader] Found library file bcprov-jdk15on-147.jar present and correct in lib dir

2012-12-27 18:06:07 [iNFO] [sTDERR] Exception in thread "main" java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/zeroturnaround/javarebel/gen/RebelLocator$$15dcc3ca

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.FMLRelauncher.setupHome(FMLRelauncher.java:175)

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.FMLRelauncher.relaunchClient(FMLRelauncher.java:92)

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.FMLRelauncher.handleClientRelaunch(FMLRelauncher.java:26)

2012-12-27 18:06:07 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.main(Minecraft.java:2235)

2012-12-27 18:06:07 [iNFO] [sTDERR] at Start.main(Start.java:29)

2012-12-27 18:06:07 [iNFO] [sTDERR] Caused by: java.lang.NoClassDefFoundError: com/zeroturnaround/javarebel/gen/RebelLocator$$15dcc3ca

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.common.asm.transformers.AccessTransformer.<clinit>(AccessTransformer.java:50001)

2012-12-27 18:06:07 [iNFO] [sTDERR] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

2012-12-27 18:06:07 [iNFO] [sTDERR] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

2012-12-27 18:06:07 [iNFO] [sTDERR] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

2012-12-27 18:06:07 [iNFO] [sTDERR] at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

2012-12-27 18:06:07 [iNFO] [sTDERR] at java.lang.Class.newInstance0(Class.java:355)

2012-12-27 18:06:07 [iNFO] [sTDERR] at java.lang.Class.newInstance(Class.java:308)

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.registerTransformer(RelaunchClassLoader.java:75)

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.RelaunchLibraryManager.handleLaunch(RelaunchLibraryManager.java:238)

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.FMLRelauncher.setupHome(FMLRelauncher.java:155)

2012-12-27 18:06:07 [iNFO] [sTDERR] ... 4 more

2012-12-27 18:06:07 [iNFO] [sTDERR] Caused by: java.lang.ClassNotFoundException: com.zeroturnaround.javarebel.gen.RebelLocator$$15dcc3ca

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:179)

2012-12-27 18:06:07 [iNFO] [sTDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

2012-12-27 18:06:07 [iNFO] [sTDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

2012-12-27 18:06:07 [iNFO] [sTDERR] ... 13 more

2012-12-27 18:06:07 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException

2012-12-27 18:06:07 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:138)

2012-12-27 18:06:07 [iNFO] [sTDERR] ... 15 more

 

 

I've tested JRebel with with vanilla Minecraft (via mcp725): works fine.

 

Question is: have any clue from the error message, how to fix that?

 

Posted

Why are you using JRebel? What type of environment are you in that you need it?

Its a development tool that allows you to swap classes at runtime, but you know, every IDE has this functionality...

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

Not going to happen. JRebel is a custom classloader wrapped around the code it's running, and unfortunately, for FML and Forge to function, we need to break free of the core classloader framework so we can inject mods and libraries. So we'll pretty much 100% conflict with what JRebel is trying to do.

 

I'm not about to rewrite FML either. Sorry about that.

 

Posted

LexManos: adding new methods requires app restart in Eclipse, as it prints something like "new methods not supported" 

 

skitch.png

 

cpw: can it technically be done? And on which side?

Posted

cpw: can it technically be done? And on which side?

FML uses a custom class loader to load classes from mod files, so pretty much you'd have to merge the JRebel loader with that AFAIK.

Protip: try and find answers yourself before asking on the forum.

It's pretty likely that there is an answer.

 

Was I helpful? Give me a thank you!

 

 

width=635 height=903http://bit.ly/HZ03zy[/img]

 

 

Tired of waiting for mods to port to bukkit?

use BukkitForge! (now with a working version of WorldEdit!)

Posted

Not going to happen sorry. I don't have the time. Pull requests are invited, but be bloody careful - this stuff is very easy to FUBAR hard.

Posted

As cpw said, if you want to try and merge JRebel support into FML feel free to submit a PR.

And you're right changing the structure of the class requires a re-launch in eclipse, however, it's not that big of a deal, and takes about 5 seconds. And you probably won't be doing it often :P

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

  • 3 years later...
Posted

Don't know how but solved it.

Go to File->Settings->JRebel->Advanced->and choose JRebel 6 agent as the agent.

That did it for me.

Currently developing a mod called Lot'O'Stuff for 1.7.10 (I know very well its outdated.)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.