'Class not found' when running JUnit test - java

I've got a project setup in IntelliJ 13.1.4 which always worked fine (including tests), but suddenly I can't run tests anymore. No project settings have been changed since last tests ran, no additional tests have been added, all references in the tests work, the rest of the project runs fine and all tests compile successfully. I am kind of dry on ideas what the issue might be.
Class not found: "models.utils.ArrangementModelTest"
EDIT
I tried a checkout of an older version of which I am sure the tests worked (since I just committed a new test). But that version also doesn't work anymore :S

In the end the issue was fixed by a couple of steps:
Exit Intellij
Delete .IntelliJIdea13 and .IdealC13
I am using typesafe activator, run activator clean on project level
Delete intellij related files in project
Run activator idea on project level
Start IntelliJ
Re-install plugins, setup project, enz.
The culprit seemed to be the Play 2.0 plugin for IntelliJ

Try rebuilding the project and in eclipse i know, "clean project" it should help.

Related

Intellij doesn't build classes

I've got multi-module project in gradle in Intellij.
Everything was working fine long time but now for not apparent reason
IntelliJ run configuration doesn't build classes.
As always I create run configurations by ctrl+shift+F10, wchich by default add "Make" to Before launch, however it doesn't build because I get ClassNotFoundException on main class.
I solved it temporarily by adding gradle task build to "Before launch", but it is irritating since I have to do it each time I create run configuration.
Is there a way to fix it?
PS. Tested on different versions 15.0.x - 16 EAP
Maybe by some mistake you have deleted the output path in module settings?
https://www.jetbrains.com/idea/help/configuring-module-compiler-output.html

Java Play! Startup Problems

When I first ran eclipsify on my Project I noticed that Eclipse complained about the:
return ok(index.render("Your new application is ready."));
Line. It did not recognize the index method. The application still ran so I ignored it for the time being. Now, however, I am getting a new error. I think I just added a few dependencies to Mongo, attached some Model files and rebuilt but I am now getting this error:
compile: sbt.InvalidComponent: Could not find required component 'compiler-interface-src'
I'm not sure why this is happening, especially because I'm a bit of a sbt idiot. As a side note, Eclipse is reporting that my "classes_managed" build path entry is missing, but I think that is due to my inability to compile after doing a clean. (Clean and update are working).
1) Templates are compiled by Play, not by eclipse. After the "eclipsify", you need to run play compile (or play run) and refresh your eclipse project. See How to make Eclipse see the changes in Play! compiled templates?
2) After adding dependencies, launch a new time the play eclipsify command.
But i think it's not the problem. What is the dependency you add ? And what is your Play2 version? (I suspect an incompatibility with a Play2.1 library)
And for your information, a general rule: Play doesn't depend on Eclipse to compile files. Do not try to clean in eclipse, but run play clean (and refresh eclipse).
Happen to run into this issue few times, tried above, also following
Clean up Play-framework based project
But nothing worked.
What it turned out to be was a IntelliJ Idea cache corruption issue, and invalidate and restart Idea worked fine.

Running unit tests right click context item not visible with IntelliJ 12

I downloaded the latest intellij 12 release, and now I don't see that right click context menu item to run my unit test for the current file.
Where is that option now?
Just had the same issue in a maven project - I had forgotten to mark the test class as public which resolved it immediately.
The solution which worked for me, is as follows...
Right click on the test folder------>Mark Directory AS------>select Test Source
I also had this problem under IDEA 14.1.4 but JUnit plugin was on.
After some time spent on comparing my old {HOME}/.IdeaIC14 folder and newly created one, I've discovered that problem lies in AntDebugger v1.2.0 plugin. Uninstalling it helped.
So if anyone still have problems with run item in context menu maybe it's because of some underdeveloped plugin.
Try to add junit plugin.
Preferences -> plugins -> junit.
For some reason my project settings seemed to have not been picked up correctly with IntelliJ 12, I had to reset the /test folder as a test source and it works fine now.
Test sources were marked correctly in my case.
File -> Invalidate Caches -> Restart did it for me.
What solved it for me was to put the test files inside a separate directory. Moreover, the test directory should be located OUTSIDE the src directory. Then, I had the right click menu item to mark the directory as test. Finally, I had to make both the test method and class containing it 'public' and also the method had to be 'public void'.
I have no idea where are all these restrictions documented. I am new to Java and JUnit, anyway.
In my case, the issue occurred because of the Node plugin; disabling it fixed the issue; after a restart of IntelliJ, my Run options were back.
I could identify the issue by looking at IntelliJ's logs, where there were NoSuchMethod errors when I right clicked on a test class/method name.
I reinstalled IntelliJ on mac and it worked again.
I had this issue in IDEA 14.1.4. Somehow, my JUnit plugin became disabled in Settings --> Plugins. I re-enabled it and am back in business.
That means IntelliJ was not able to configure your workspace as python workspace. It generally shows a message when it detects python scripts and provide an auto configure option like "configure python". This message was not appearing when I was opening python workspace and hence no tests were getting identified.
I faced this issue when working simultaneously between Java and Python unit tests. The caching might have prevented identification of unit tests in python workspace.
I just restarted cache using the option available in File menu (IntelliJ IDEA) and it reconfigured python as soon as I opened my python workspace after cache restarted.

Cannot exectue programs within IntelliJ IDEA 11

I upgraded to IntelliJ IDEA 11 CE and I cannot execute any tests or main programs within the IDE anymore. It is very strange as the JDK is there and will compile, but doesn't do anything when I go to run programs.
My projects are imported from a multi-module maven project and it has worked fine with previous releases.
How do I get it to run my programs and unit tests? I am having to use Eclipse instead to execute them.
It seems IDEA installation directory gets corrupted somehow. It happened to me unexpectedly after a week and the only thing I could do to re-enable run/debug was to reinstall IDEA from scratch.
Even invalidating caches or purging .IdeaIC11 directory didn't do any good.

IDEA JetBrains IntelliJ - Compile error on 'make' but fine when compiled using Maven and no errors reported by IntelliJ in the class file

So I have a maven module (module-A) in IntelliJ. I recently moved some classes from it into another new maven module (module-B) and added a dependency to it. Once I had done this I also modified the signature of a method of one of the moved classes (now in module-B).
I re-imported the poms so that IntelliJ would pick up the dependency changes and ensured all Java imports for the affected files were correct again. Now when I attempt to run my webapp (which depends on the two modules) I get a compile error in a class in module-A calling the modified method of the class in module-B.
The error message is basically saying that that method doesn't exist but believes the old method still exists! I click on the 'make' error and it takes me to the line in a class in module-A calling the modified method...the weird thing is, IntelliJ knows it is fine in the file. i.e. The method is not underlined in red like a compile error would normally be, but the class file name is :(
I compiled it from the command line using 'mvn install' (having also installed module-B) and it is all successful. I have deleted the classes directory in the target of both module-A and module-B and also invalidated IntelliJ's caches and restarted...still happening...any ideas?
I found out that this might help:
File -> Invalidate Caches
Maven Projects -> Reimport should help.
I spent a few hours on this same issue. All of the cleans in the world didn't help.
I deleted my out and target directory in my project and recompiled - that cleared it.
Edit: There is also a magic feature under the file menu: "Invalidate Caches / Restart" This fixes a bunch of "intellij is confused" problems.
Change "Java Compiler" setting in IDEA (User compiler javac in-process) to fix the problem.
Try to mvn clean your projects and mvn install your project B.
The maven integration with intelliJ is kind of buggy when you use the make command directly provided by Intellij. You should directly use the mvn commands, or start them from the maven panel.
I ran across a very similar problem that was driving me insane.
My code would compile fine with the ant task I normally run, but it would not build in IntelliJ, complaining about "Cannot Find Symbol blah blah"
Turns out, you can add "Excluded" files for the compiler. My file somehow got added to that list.
This list is located in File > Settings > Compiler > Excludes (IntelliJ 13)
Following steps should fix this problem :
delete .IntelliJIdea12 / .IdeaIC12 older under c:/user/.../
Invalidate Intelli's cache: File > Invalidate Caches.
This re-indexes your workspace on start-up and also clears your local history. Before you do this, commit or back up all your uncommitted changes.
Once your workspace is back after indexing, do a maven clean install.
when the build is successful, click on Maven Re-imports
This worked for me, I think it should work for others too with a similar problem.
So just stated it up this morning and it's all working!
Last night what I did do was open a new project (intelliJ project) from module-A's and module-B's parent pom and successfully got it to build, possibly doing that and then opening my original project again fixed it somehow...very annoying though
The behavior I see is similar to the one described by the original author.
Error markers show up on the right side of the editor in Intellij 14 and less so in 13.
This happens also if using Scala instead of Java and using SBT instead of Maven.
Also noticed this occurs after the second project is loaded. The first is always fine.
(After much trial and error) Figured it might be caused by Intellij's internal caches becoming somehow corrupt. "Invalidate caches" worked sometime and sometimes did not.
I work with a number of projects using Play! Framework and they use different versions of Scala and lots of dependencies.
I hypothesized the caches become corrupt because the internal key Intellij uses is not good enough to handle situations when the same class, loaded multiple times in different jars, has different signatures, and this results in the editor errors while external builds work fine.
Then the "Changing Ivy Cache Location for sbt projects in IntelliJ IDEA?" post gave the idea to segregate the ivy cache SBT and Intellij use in the hope that the ivy path is part of the internal cache key.
Paul Phillips of TypeSafe provide the "SBT extras" tooling and here I found a way to instruct SBT to use a project based ivy home, cache and SBT boot:
https: //raw.githubusercontent.com/paulp/sbt-extras/master/sbt
declare -r noshare_opts="-Dsbt.global.base=project/.sbtboot -Dsbt.boot.directory=project/.boot -Dsbt.ivy.home=project/.ivy"
How to configure Intellij
: see http://content.screencast.com/users/SemanticBeeng/folders/Snagit/media/ec8ec491-6d0c-4691-9598-916a63ba65ef/12.02.2014-08.59.png
Then did the same for the external SBT build to work in sync
: see http://content.screencast.com/users/SemanticBeeng/folders/Snagit/media/dcb287c4-200f-47f3-a937-42865675a22b/12.02.2014-09.01.png
Finally got rid of the user home based .ivy2 and all the contents.
To be sure Intellij does not use this folder I made it readonly.
This was a mistake. Intellij seems to silently fail resolve dependencies if you do this.
This solved the errors and believe they will not come back. :-)
If Intellij guys hear this: please test your releases (Scala, SBT, editor) with all the Play Framework templates from TypeSafe. The problem becomes apparent quickly this way.
I just had a similar issue that was driving me insane. I had done all the other things mentioned in the answers above because I have used Intellij forever, but none worked. In the end I found out that in the maven projects portion of Intellij, one of my modules had been marked "ignore" a simple unignore command from the context menu did the trick.
In my case, I had manually marked a directory as "Test Sources Root" but IDEA marked it on a parent Maven project. Unmarking it in File->Project structure...->Modules fixed the problem.
This could happen if you are using different version of java while building outside IntelljJ. My IntelliJ had java10 and I was using java8 while building at terminal. Changing java version to IntelliJ fixed this issue for me.
I had a very similar behavior. Running (Scala-)tests would always fail due to errors in unrelated java classes during the 'make' step.
It turned out, I had included a 'global' SDK library that collided with one of the dependencies from the project. A proper helpful error message only showed up after I deleted the 'make' step from the test.
I then deleted the duplicate library, re-added the make step to the test and everything is now working fine.
I ran into this problem today after upgrading from 12 to 13.
Later I fixed issue as I used the same name for Project and Module and looks Intellij allows this but cannot handle it correctly.
No idea why setting will impact the compilation, although there is no error in java editor. Should be a bug in version 13.
I was facing a similar issue after upgrading from IntelliJ 12 to 13. After multiple uninstalls and re-installs (of multiple intelliJ versions), numerous cleans and .m2 repository clearing, I finally figured out what my issue was.
In my intelliJ settings, the repositories mentioned in my main POM file could not be connected to. this was in turn due and alternate repository that was mentioned as a part of my pom file.
Once the POM was made to point to the correct repository, all my classes had their compilation issues resolved.
To check if your repositories are being connected to, go to File -> Settings -> Maven -> Repositories
Here, your indexed maven repositories should be connected to successfully. If they are not, then intelliJ will not be able to resolve most 3rd party and module dependencies.
I'm embarrassed to say, but we also had this problem, but it was due to a mistake in our package name.
When creating the packages for a new project I accidentally created a package called "org.package".
My project then had a directory structure like:
/src/main/java/org.package/
Which caused all sorts of havoc with IntilliJ.
Once the correct folder structure was created on the file system, IntelliJ worked great.
/src/main/java/org/package/
Note the difference in /org.package/ vs /org/package/
The fix was i made it javac instead of Ajc and i put 1.8 of course according to your jdk version.
for some reason when i invalidate and restart intellij it was set to be the default !
my version is
This happened to me...what fixed it was realising there was an extra main.iml file in the source directory. Deleting that instantly made the compile errors go away.
None of the above answers worked for me.
In my case, I had to finally create an explicit Maven Run Configuration for the module (with Command Line as "clean install") and then run it.
It is in Run > Edit Configurations
close the project
go-to the project folder and delete idea project file and .iws file
run mvn idea:idea
restart the project.
seems idea keeping the old project dependencies without cleaning even though we run file -> invalidate caches
Setting the proper Java SDK solves the issue
Right click on the project and select "Open Module Settings"
Check if you have the right Java SDK under platform settings
Check the SDK under Modules
Rebuild the project from "Build" menu
Delete the installation directory.
Remove the following directories:
~/.config/JetBrains/
~/.cache/JetBrains/
~/.local/share/JetBrains/
This will remove each and every configuration plus installation of jetbrains tools, be it IDEA, goland,etc.
Now install everything from scratch.
That's the only way it worked for me

Categories