I want to modify the source code of PMD, but I don't know how to compile and use this modifying PMD with Eclipse as a plug-in.
I read this Compiling PMD instruction but I didn't understand it very well.
can you help me please?
My Eclipse platform version: 4.3.2
PMD version: pmd-src-5.4.1
Operating System: windows 7
Related
I wanted to learn some Kotlin so I installed IntelliJ IDEA, created a new Kotlin project with the default settings and then the IDE tells me that Gradle sync has failed. Here's the error message:
Could not open init generic class cache for initialization script 'C:\Users\<my_name>\AppData\Local\Temp\wrapper_init.gradle' (C:\Users\<my_name>\.gradle\caches\6.8\scripts\344chmz69zyndatc9zp4rwux5).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 60
I googled the error and got a suggestion to try a different JDK version. Tried a few different versions but that didn't help. Then I installed the IDE on my laptop to see if that works and there I don't get any errors. As far as I can tell, the project settings were exactly the same on both machines but obviously something is messed up on my desktop computer. Both have Windows 10.
I'm also not at all familiar with the Java/Kotlin ecosystem or the build tools or whatever so I honestly have no idea how I could even begin fixing some Gradle errors. I don't really even know what Gradle is or what it does. So can you help me?
First, check the version which the project uses: File > Project Structure. Or, during project creation (https://i.stack.imgur.com/SXIzQ.png / example with SDK 1.8)
It has to be the same as JDK / SDK installed on your computer.
To verify java version installed in your terminal:
java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~19.10-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
I recently upgraded to Eclipse Version: 2020-06 (4.16.0) on Windows 10.
My java version is "14.0.1" 2020-04-14
After the upgrade, I attempted to install Eclipse-PMD 2.0 from the Marketplace ( help / Eclipse Marketplace / etc. ) ...I receive the error(s):
Cannot complete the install because some dependencies are not
satisfiable Software being installed: a.jre.javase 14.0.0 Software
being installed: Eclipse PMD Plug-in 2.0.0.202006052026
(ch.acanda.eclipse.pmd.feature.feature.group 2.0.0.202006052026)
Cannot satisfy dependency:
From: Eclipse PMD Plug-in 2.0.0.202006052026 (ch.acanda.eclipse.pmd.feature.feature.group 2.0.0.202006052026)
To: org.eclipse.equinox.p2.iu; ch.acanda.eclipse.pmd.java.feature.feature.group
[2.0.0.202006052026,2.0.0.202006052026] Cannot satisfy dependency:
From: eclipse-pmd Java 2.0.0.202006052026 (ch.acanda.eclipse.pmd.java 2.0.0.202006052026)
To: osgi.ee; (&(osgi.ee=JavaSE)(version=11)) Cannot satisfy dependency:
From: eclipse-pmd Java Support (Optional, JDT Prerequisite) 2.0.0.202006052026 (ch.acanda.eclipse.pmd.java.feature.feature.group 2.0.0.202006052026)
To: org.eclipse.equinox.p2.iu; ch.acanda.eclipse.pmd.java [2.0.0.202006052026,2.0.0.202006052026]
Does anyone have an idea(s) as regards the source of the issue ...if all else fails I may try building the PMD source from the github repo ( https://github.com/eclipse-pmd/eclipse-pmd ) but I cannot imagine why this should be necessary.
I created eclipse-pmd and I can install eclipse-pmd 2.0 from the marketplace with Java 14 and Eclipse 2020-06 without any problems.
From the error message you provided it looks like there are two missing dependencies:
ch.acanda.eclipse.pmd.java requires (&(osgi.ee=JavaSE)(version=11))
several plugins require org.eclipse.equinox.p2.iu and ch.acanda.eclipse.pmd.java
The first issue indicates that you do not run Eclipse with Java 11+. Check the Java version by opening the "Installation Details" dialog: Help > About Eclipse IDE > Installation Details > Configuration. Then look for the system property java.version. If it shows a version lower than 11, then you need to configure Eclipse to run with Java 11+.
The second issue looks like a subsequent error. Since ch.acanda.eclipse.pmd.java couldn't be installed, all plugins that depend on this plugin cannot be installed either. Why org.eclipse.equinox.p2.iu is also mentioned in the error message is unclear to me since eclipse-pmd does not (directly) depend on this plugin and it should be a plugin installed by default in Eclipse.
If this does not fix your problem, then please open a new issue on Github as it is easier to help with problems like this on Github than on Stack Overflow.
You need to run Eclipse with a Java 11 JRE. This is normally done by insuring you have JAVA_HOME set to Java 11, and JAVA_HOME in your path. Alternatively, you can modify eclipse.ini and specify Java 11 as the vm (How to run Eclipse with different Java version?).
I'm using Ti Studio on Win7, and my project builds and works when I have my Android plugged in via USB and I run using "Android Device".
However, when I try to buid it for distribution I get:
[ERROR] Program launch failed. Unable to locate Java VM. Please set JAVA_HOME environment variable.
I have looked at this thread which describes a similar problem, and verified that JAVA_HOME is set:
+>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_29
Also, in Ti Studio I have verified that Preferences->Studio->Platforms->Android has the "Android SDK Home" set to the path where Android SDK is installed.
Can anyone guide me on what else I need to do to fix this?
Thanks!
UPDATE FOR ANAND
+>javac -version
javac 1.6.0_29
+>java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode)
Did you read System Requirements?
From Documentation:
For Windows, the 32-bit version of Java JDK is required regardless of
whether Titanium is running on a 32-bit or 64-bit system.
Try to install additional 32bit version of Java (without removing the 64bit) and set the system variable.
You may refer this answer.
Hope it helped you
Configure environment variables as mentioned here and JDK must be 32 bit
I just installed intelliJ and tried to import an eclipse project. I have a jre installed but no jdk. It doesnt want to compile without a jdk. What am I doing wrong? Do I need one?
Yes, you need it. JRE required only to run java programs. JDK - for development.
I have installed the standalone IDE for salesforce force.com platform. On trying to start the ide i am getting "JVM terminated. Exit Code=-1" error. Any idea what this error code means ?
This is a common loading error for force.com IDE.
There are different solutions. Try anyone of these:
A) Change the workspace location.
OR
B) (i). Install Eclipse 3.6 for Java Developers (Helios) from the link http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr2
Click your operating system from the window on your right.
(ii). Using the below link, follow the instructions to install Force.com IDE plugin for Eclipse 3.6 http://wiki.developerforce.com/page/Force.com_IDE_Installation_for_Eclipse_3.6
OR
C) In the default Force.com IDE install directory:
C:\Program Files\salesforce.com\Force.com IDE
Locate the config file:
forceide
And comment out the following at the end of the file (note the leading #):
#-vmargs
#-Dfile.encoding=UTF-8
#-Xms256m
#-Xmx1024m
#-XX:PermSize=128M
#-XX:MaxPermSize=512M
I hope it works now.
Cheers!
This could be because of various reasons. Say, if you do not have enough memory (RAM) as specified in config file(forceide.ini). As said in this link Force.com IDE – JVM terminated , probably reduce MaxPermSize in config file to say 256M and check.
This exact thing happened to me a few days ago.
My setup is:
Windows 7 64 bit
jre7 64 bit
Force.com IDE 64 bit
When I ran the java auto update to update my jre it installed the 32 bit version (a whole other gripe). So I manually downloaded the 64 bit version of the jre installed it over the top of the 32 bit version and the IDE started working again.