I see in version JMockit 1.8 support for Jacoco was fixed, however this also went hand in hand with making Java 6 a minimum requirement.
Is there a way of getting version 1.8 to work with a build runtime of Java 5? Or even patching the fix for Jacoco into version 1.7? What changed, could I do it?
We can't upgrade our build servers for a few months, so this would really help us use this feature.
You can use Java 6 as compiler, and make a war 1.5 compliant. Anyway, the tests are not deployed on server side.... (Or I hope so)
Related
My application is based on Eclipse 3.8, and I'd like to know if it will run over Java.
I'm not using a newer version because it has performance issues. From my experience, Eclipse 3.8 is a lot faster compared to any newer versions of Eclipse.
Does someone know something about this?
UPDATE: The previous title may suggest that I want Eclipse 3.8 to be able to support the new features of Java 9. But, I really just want to know if I'll be able to run the application over Java 9 JRE.
Yes it works, but only with a small patch.
It fails because the org.eclipse.osgi bundle of Eclipse 3.8 (Juno) has no runtime profiles for Java 8 or Java 9. If you add those it works for me.
I made successful tests with an RCP-based app on target plattform 3.8.2 (http://archive.eclipse.org/eclipse/downloads/drops/R-3.8.2-201301310800/) running under Java 9 Oracle JVM under Windows 7.
What to do:
You have to patch the org.eclipse.osgi bundle:
strip signing information
manually add an entry for the Java 9 Runtime Enironment in the profile.list of the bundle and add a JavaSE-1.9.profile definition
E.g.: https://github.com/derWallace/org.eclipse.osgi
But no guarantees that this is a good deal for production!
No. Oxygen (4.7) and newer only is what's planned. If your performance findings are verifiable and repeatable, file bug reports about them.
My current project is built on Java 6. I'm thinking of upgrading it to Java 8.
Here is the details of the build.properties
xdoclet.home=D:/**/xdoclet-1.2.3
jboss.deploy.dir=D:/**/jboss-6.1.0.Final
application.dir=D:/**/**/cal
middlegen.home=D:/**/middlegen-2.0-b1
compiler.home=C:/Program Files/Java/jdk1.6.0_24/bin/javac .
I've tried building the project on JDK 8 and it is building successfully.
I know that I have to upgrade every libraries so that it can work with JDK 8.
How can I make sure about the dependencies to be correct as there are so many jars? And also Do I have to change my Jboss Application Server to Wildfly Application Server as Jboss AS 7 doesn't support JDK 8?
Please suggest how to approach. Any help appreciated.
And also let me know if it's better to build the project from Scratch in JDK 8 than upgrading it to JDK 8.
1) If you need to use jdk8 than you have to switch too the newer jboss.
2) It is not required to updated all jar's since jdk8 can run older jars
it there is no compatibility problem.
3) If you already have an large probject it is faster to keep it.
4) You can review your code and use the new java 8 features like "<>" and "try()"
For more qualified answer your question is to unspecific.
I would like to suggest you to update JBOSS 6 to wildfly 8 if there is a change required for the updation of JDK 6 to JDK 8.
But there is some other way!!! you can run your JBOSS 6 externally and add the the project.war file in JBOSS>>standalone>>deployment.
For Upgrade of JDK 8,i would suggest to go through JDK 8 feature and see where you can implement the new feature of java in your source code and have a mock testing class for the same.Make sure you have a mock project as it is the good practice for the enhancement of the project.
I'm new to opentaps environment. I have some doubt in opentaps. I have opentaps1.5 version. It is contain apache 6.0.26 and ofbiz 10 version. I want to work using jdk1.8. While compile the program using jdk1.6 or 1.7 it is providing expected results. When I used jdk1.8 It showing
ExceptionInInitializerError.
Please tell me how to resolve this issue. I need to work opentaps1.5 with jdk1.8. Thanking you in Advance.
Apache OFBiz, which is the base of opentaps, just introduced Java 1.8 compatibility in the upcoming 14.12 branch. OFBiz 10 is very old and not maintained anymore. It is not compatible with Java 1.8.
As far as I know, opentaps is forked from OFBiz and might have newer versions which are Java 1.8 compatible.
You may want to contact the support (http://www.opentaps.org/services-support) to get more accurate informations.
I need to ensure one thing before doing it, so I have not yet tested the solution I'll propose.
I have a Jenkins on which one project compiles with a JDK 7 with target Java 7. I have a new project written in Java 8, and I'd like to add it to my Jenkinsfor it to build it too.
As a consequence, I need to install a JDK 8 on the machine. I know we can specify the java compiler version in the pom of each project, but I'm fearing this: once I have installed JDK 8, will my Java 7 project still be able to compile with that JDK 8? Should I have the two JDK installed on the machine, and have a configuration for each project to be able to locate its own JDK? Or will my Java 7 project be able to compile in Java 7 using the JDK 8 ?
Thanks for any help.
As stated in comments, it is possible to install multiple JDKs on Jenkins machine (see this answer as an example) and to configure each job to use a specific one.
Besides, you could perfectly compile your Java7 project using Java8 JDK. However, I advise you not to do that. indeed, if backwards compatibility is enforced at language level, you may find some APIs in which bugs you were unaware of, but the libs you use already knew, have been fixed, creating some weird behaviours. As a consequence, your Java7 application would compile using Java8 JDK, but expose bugs at runtime. And it would be the hell of a nightmare to solve those bugs (believe me, my friend, I've met that kind of horrors in a previous common company).
You can use multiple jdk on your machine, but remember to use specific jdk for specific project. Configure POM file of your project carefully if you have installed multiple jdk. Compiling Source Using Maven
Or you can change JAVA_HOME in the Build Environment section of the job configuration you can set environment variables for the job. Although, you can use multiple JDKs but its not a good practice to in CI/CD. Use specific machines with specific configurations.
I need to use PMD, Findbugs and Checkstyle in Eclipse for a Development project. Is Java 6 enough to use these tools? or I need java 7?
Java 6 is enough (Even 5 will work).
Everything should work for
1.5>=Java<1.8
Findbugs
FindBugs requires JRE (or JDK) 1.5.0 or later to run. However, it can
analyze programs compiled for any version of Java, from 1.0 to 1.7.
Some classfiles compiled for Java 1.8 give FindBugs problems, the next
major release of FindBugs will handle Java 1.8 classfiles.
http://findbugs.sourceforge.net/
Checkstyle
Added Java 7 support to the grammar. Thanks to Dinesh Bolkensteyn for
patch #3403265
http://checkstyle.sourceforge.net/releasenotes.html
PMD
•2011-11-04 PMD 4.3 (download): ◦Add support for Java 7 grammer -
thanks to Dinesh Bolkensteyn and SonarSource
http://pmd.sourceforge.net/pmd-4.3/
Notice latest PMD requires Java 7/8
running PMD only requires Java 7 (or Java 8 for Apex and the Designer).