Intellij java building artifacts for debugger java: package does not exist - java

Trying to set up debugger for spring aplication. Based on the comment from this What creates target directory in spring boot application?
I might need artifacts.
I do not know hot to set up the artifacts for spring boot application, so trying to set up by cmd application article https://www.jetbrains.com/help/idea/debug-a-java-application-using-a-dockerfile.html
I did not set Main class, because I have no idea what is main class in my project. I tried searching function main() but did not find it. So I had set up:
Running Build > Build Artifacts and choosing my jar artifact, I get
/home/agmis/projects/openelis/src/main/java/org/openelisglobal/dataexchange/fhir/FhirUtil.java:4:46
java: package org.itech.fhir.dataexport.core.service does not exist
I think there is high chance that this part of code works, because I have been debuging related code, seen that function. So I am just probably getting this error when building artifacts. And the function is modified on April 5 this year, so this also adds the confidence that this part of code works.
I see interface is in red, and import is grey so because IDE also does not see it.
So how to fix that?
Also if you can give a link to a good tutorial on how to setup debugger with docker which would solve me this problem and maybe I would not even get this error, this could make the problem solved also.
Update
Based on Renato "Reload All Maven Projects" - did not help, same problem still.

Related

How do I get Netbeans to use the specified Gradle version?

I've come back to project after a long diversion, and upgraded tooling. This means Netbeans 12.5, Java 17, Gradle 7.3… at least allegedly. For some reason, despite setting the Gradle version to 7.3, it appears to build with 7.0.
Per the image below, setting the Gradle version to 7.3 doesn't seem to be picked up. (That is immediately after hitting Apply.) It still tries to build with 7.0. And – for some indeterminate reason – it can't.
Restarts don't help; I can't get the configuration to be picked up. (Searches for reference to similar issues provide 5-year-old answers that are no longer relevant.) I've even tried deleting the 7.0 distribution; to no avail, it comes right back.
Can anyone provide guidance on getting this to work properly?
Netbeans 12.6 fully supports Java 17 and Gradle 7.3. Gonfiguring the Gradle wrapper for 7.3 gets picked up correctly, eliminating all errors I was experiencing.
Don't bother with gradle in Netbeans. It's a horrible, buggy disaster and 12.6 just seems to want to up the ante.
Netbeans does NOT support gradle in a meaningful way for normal users.
You now get complex multi-projects whether you want them or not.
When creating a Java Application you don't get a choice at what the Main class is called. It will be App with app.java and you will like it.
If you try to rename app.java to something useful. It will not change "Class App" to "Class Useful" it will instead change it to "ClassUsefulp". It will not rename the test file and you will be left with several syntax errors that you can have fun cleaning up.
No, you cannot rename the subproject itself. That will continue to be the extremely descriptive and useful "app" subproject. The IDE will not provide you a way to rename that.
There is no meaningful, intuitive way to create/delete/modify subprojects.
If your gradle version is somehow out of sync there is still no useful way to reset/recreate the gradle wrapper other than creating a whole new project and moving your source code over to the new project.
Oh, so you gave in and accepted the multi-project structure. You noticed that if you go through the multi-project creator GUI then you can create multiple subprojects. Yeah, good luck with that. They won't have gradle build.scripts or wrappers. You won't be able to build your awesome creation.
Want to use command line arguments? Forget it. There is no "run" element in the project properties. You cannot create different run configurations.
Want dependencies? Or any other project configuration? It's all manual editing of gradle files. There's no GUI to assist non-gradle-wizards.
Yeah. you can probably work around a lot of this by dropping to a command line shell and editing the gradle scripts/files manually and running gradle commands manually. A) you're going to need to be a gradle wizard, and B) why are you using an IDE in the first place? you've got gradle, you've got vi available. Bathe in the nostalgia because you'll have to anyways.
Do you like the idea of gradle? Do you use Netbeans? Stick with Ant, or Maven if you need external dependencies; you'll thank me later.

Netbeans always running maven build before debugging

I am running Netbeans 8.0.2 and I am trying to debug a web app. This app is a module in a larger suite. Normally just the parent gets compiled which set's up property values for db connections etc. So, that being said the web app I am trying to debug never gets built independently.
So, I want to be able to do right-click > debug without netbeans running the maven build (this will mess up the prop values).
I have the "Always perform build before running application" unchecked in the Run configuration. But every single time, it builds it anyways!
Is there something I'm missing? Or is there some bug in Netbeans?
Edit: I've also tried deleting the cache.
I know this is an old question which you probably (and hopefully) solved already. However, as I had the same problem and could not find an answer here, I want to share my solution to this problem for others.
My application also first built itself and then started debugging. I checked the run/debug configuration and they were fine. So I deleted the local maven repositories of all dependencies of my application and rebuilt them. Seems like NetBeans confused something with the dependencies and therefore rebuilt the application every single time again. After deleting and rebuilding the dependencies I was able again to debug the application without building it before.

Java proposals not showing for dependencies

General Java question here / a little maven-y also. I downloaded the parent pom from a repository and did a mvn install to get all of the dependencies, but now when I am writing code, specifically in the example below, I might write something like: conn. and expect the proposals to show up, but they are not. Now say I were to a go step further (since I have it in front of me) and say conn.tableOperations(). I would expect theses proposals to show up, but like I said they are not. Here is a pic of what I am talking about if that explanation didnt suffice:
If I were to type String bla; then bla. all of the proposals would show up for that? I know it must / is related to the dependencies but I have never had this problem before. I did a bit of digging and found that maybe a maven clean install with the proper parameters would help, but I have zero clue what they would be. This is what I am referring to in this regard.
Any ideas? Thanks.
I think you are confused about Maven and Eclipse interaction.
I downloaded the parent pom from a repository and did a mvn install to
get all of the dependencies...
That is your first mistake. mvn install is not what you think it is.
You need to start by installing Maven integration in Eclipse.
This is either already available depending on which package solution
you chose, or it is available in the Eclipse marketplace.
Next you need to create a new Maven project in Eclipse.
Lastly you need to specify a dependency on the jar in the m2e
plugin. This will automatically bring in all the necessary
dependencies into your project workspace.
Note the above link has full documentation, including a Getting Started tutorial.
Alright I solved my problem. I couldn't see the proposals because the project I was trying to edit was still inside of the parent project, which wasn't considered a Java project, hence why the Java proposals weren't showing up. I drilled down into the parent project to the project I was trying to edit, right clicked and clicked "Import as project". It keeps the project still under the parent project and edits are made to both, but now the inner project is considered a Java project. Everything works as expected now.

Steps to resolve the imports in eclipse?

Firstly, I have seen several question related to this issue but it seems like those questions might be some steps ahead of my understanding.
I am fairly new to java and consider myself as a self learning beginner. Mostly I face this problem where I do an import. I need it because that import is linked with the use of some really nice and powerful function(s), but always fail if import does not work and end up not using that.
The message is, e.g. "The import com.google can not be resolved".
I have been using eclipse in Ubuntu.
After trying some of the given solutions without being able to view them in the proper context, I already have messed up my eclipse environment and the trouble is still there.
Can anybody kindly show me the complete steps of doing these imports successfully in eclipse for java?
For using 3rd party jars you need to add the jars in the build path.
Follow the following step
right click project
click build path
click libraries tab
then add external jar
Now give the path of the jar location

Sources from referenced projects are not deployed to Tomcat in Eclipse

I have setup a dynamic web project in eclipse with JSF in which I trust on code from another project (framework). Therefore, I added the framework project to the build path of the website project.
So far so good, Eclipse recognises every class and the project builds without errors.
Problem is though that when I do "run on server" to test it on tomcat 6.0.24, the application fails. I get ClassNotFoundException on every class from the framework project.
Is this a bug or is some specific configuration necessary for this?
I was googling and ended up here for a similar problem. I wanted to make a note for others about the current situation on Eclipse Indigo, as the terminology has changed a bit by the looks of things.
On your project properties, do a filter/search for "deployment assembly".
It is then straightforward to add a project dependency. Job Done.
Thanks to Alexander's edited answer which led me to this.
Did you check Warnings in Problems view?
Do you see Classpath entry /your/framework.jar will not be exported or published. Runtime ClassNotFoundExceptions may result warning?
If you do.
Right-Click the warning and choose Quick Fix.
Choose "Mark the associated entry as publish/export dependency." from Select a Fix box.
Click Finish.
EDIT
Now, I think I understand where disconnect is. I think now I remember the joy of figuring this out for the first time.
In your website project ( I will speculate here , but I guess you've created it as a Dynamic Web Project ):
Open project properties
Select Java EE Module Dependencies panel
Check your framework project in JAR/Module column. Beware, that for reasons not known to me, the list is not sorted ( and is not sortable ) in any particular order, so you may need to search for your project reference there.
The results of this operation will be written to /website-project/.settings/org.eclipse.wst.common.component file. Put this file into your source control.

Categories