Hello Dave,

Maven will not recompile java classes if it already finds classes under target 
that are newer than the source file. And if Eclipse have already compiled 
classes into the target folder then maven will not recompile these.  

In most  places release binaries are build separately using maven from sources 
checked out from the release branch, built, and pushed to a local repository. 
Not from a developer machine, nor from an IDE. There are several tools for 
release processing. If you are using GitHub it can be configured to build code 
on commit and push to GitHub Packages. There are other tools that supports a 
release process, can't come up with any names right now though.

/Tommy


Från: Dave Dyer <dd...@real-me.net>
Svara: Maven Users List <users@maven.apache.org>
Datum: 4 december 2023 at 20:20:58
Till: Maven Users List <users@maven.apache.org>, Maven Users List 
<users@maven.apache.org>
Ämne:  Re: what javac is actually used?


I think I've peeled the next layer of the onion. The maven  
build I'm using doesn't call javac as part of the build process;  
Instead it uses the classes already produced by Eclipse, which  
supports debugging and development. These classes are not optimized  
at all, and in particular each class is compiled separately, as though  
it would be linked at runtime with an arbitrary set of other classes.  

In normal delivery environments, these ignorant-of-others classes  
would be presented to a JIT which would resolve all the linkages  
and optimize things like field references and enum dispatches,  
so the lack of optimization at the class level might be unimportant.  

Does this make sense?  


---------------------------------------------------------------------  
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org  
For additional commands, e-mail: users-h...@maven.apache.org  

Reply via email to