Saturday, April 22, 2017

Re: GWT/Maven development cycle takes much too long



On Saturday, April 22, 2017 at 6:03:47 PM UTC+2, Magnus wrote:
The question scope=provided or not affects the dependency for my own library "my-lib" in the pom.xml of my application "my-app".
    • If I remove it, the "Failed to copy file for artifact" returns (= problem 1).
    • If I keep it, the external libraries referenced by "my-lib" (like postgresql-40.0.0.jar) don't get copied into the WEB-INF/lib folder of "my-app" (problem 2).
So by changing scope=provided I can only choose between problem 1 and problem 2.

Yep, between one correct build that doesn't import in Eclipse (because of Eclipse), or an "incorrect" build (from your requirements).

I am willing to learn, so my "requirements" may be wrong.
What do you recommend for my situation?
 
Now you said that problem 2 isn't a problem, because the external libraries are provided at runtime, e. g. by Tomcat.

No.
I'm saying you should not use scope=provided if that's not what you want (and it's not what you want, so don't use it), and find a solution (or workaround at least) for the Eclipse issue,

I believe it's not an eclipse issue: I create a war file with "mvn package" and this war file doesn't contain the necessaey libs.
Tell me, where is my error in reasoning?

 You should IMO focus on the Maven part and get it right; then make it work in/with your IDE

Well, we have passed some milestones in this thread (eclipse error, scope=provided yes or no).
But at the point we are now, it's nothing but a Maven issue:
Creating a package with maven (mvn package) creates a package (war) with missing jar files.

To make a long story short:
  • Before Maven I created a war file with all necessary jar files in WEB-INF/lib
  • With Maven this war file is actually missing those jar files.
Please don't pay too much attention on my "requirements". They may be wrong, since I don't know how it should be done the usual way...

Your requirements is to have the JARs into the WAR (just like most other people, so your requirements aren't wrong), so DO NOT use scope=provided.
Then this causes an issue when importing the project in Eclipse, when resolving dependencies from the workspace; this is an Eclipse issue, Maven is fine.
Workarounds:
  • do not resolve dependencies from the workspace; but then you need to "mvn install" your library and this has a huge impact on the developer experience (the initial subject of this thread)
  • if the error does not prevent you from working on the project, then ignore it.
But this is an Eclipse issue.
 

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment