JavaParser
Spring Loaded
Our great sponsors
JavaParser | Spring Loaded | |
---|---|---|
6 | 2 | |
5,211 | 2,710 | |
1.8% | 0.1% | |
9.5 | 0.0 | |
1 day ago | about 2 years ago | |
Java | Java | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
JavaParser
- Ask HN: Source code (Java) parser and/or static analysis tool
-
Things I didn't know about Java: Generic Constructors
As I have never seen generic constructors before I wanted to know how "real-world" code uses them. So I wrote a program that parses the Java files in the JDK source code. It uses the JavaParser open-source library. Since its README file mentions Java 15, I ran the program on tag jdk-15+36 of the JDK source code.
-
Static Analysis at GitHub
GitHub released a pretty good java parser that I think is is related to this work https://github.com/javaparser/javaparser
I'm also using that parser using for a side project where developers can cross link their source code and host them statically: https://github.com/josephmate/OdinCodeBrowser#readme
-
An open-source Java application to Test
JavaParser
-
Automatically unlocking concurrent builds and fine-grained caching for Java with dependency inference
So after taking a deeper look into the docs I've seen that analysis is done via https://github.com/javaparser/javaparser/ lib which has currently only support up to JDK14 (not JDK15, JDK16 nor JDK17...maybe JDK18)...Unfortunately I have not found a full working example for a Java build ...can you give a link?
-
Bulk Refactoring of Java Code
Depending on the type of refactorings needed, you may be able to use something like Java parser to read the code, refractor it, and write it out again.
Spring Loaded
-
What blocked you from migrating beyond Java 8?
Hot reloading with spring-loaded doesn't support anything beyond JDK 8. New spring-devtools is much slower.
-
Speed boost achievement unlocked on Docker Desktop 4.6 for Mac
When using Java, with say, jib and skaffold, when a change is detected the image is rebuilt with some fairly smart cacheing being done to minimize the build time.
In more interesting setups, the class files aren't in the image but rather mapped in - much the same way one would with dynamic and then a hot reload - https://docs.spring.io/spring-boot/docs/1.3.8.RELEASE/refere...
> Spring Loaded goes a little further in that it can reload class definitions with changes in the method signatures. With some customization it can force an ApplicationContext to refresh itself (but there is no general mechanism to ensure that would be safe for a running application anyway, so it would only ever be a development time trick probably).
And this way, the container can remain the same with the class files being changed underneath it.
What are some alternatives?
Spoon - Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.
DCEVM - Dynamic Code Evolution VM for Java 7/8
Lombok - Very spicy additions to the Java programming language.
rewrite - Automated mass refactoring of source code.
HotswapAgent - Java unlimited redefinition of classes at runtime.
JavaSymbolSolver
JHipster - JHipster, much like Spring initializr, is a generator to create a boilerplate backend application, but also with an integrated front end implementation in React, Vue or Angular. In their own words, it "Is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures."
NoException
Immutables - Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included
Tale - 🦄 Best beautiful java blog, worth a try