Comments (7)
The main thing to look at for this will be the eclipse-distribution
directory and all the things that are included in there. This is the place where we build the ready-to-use distributions from.
The most important definitions for the distribution builds are included in https://github.com/spring-projects/sts4/blob/main/eclipse-distribution/pom.xml. This pom.xml
file specifies where the distribution build finds all the necessary parts.
The build spec contains profiles for the specific Eclipse versions that we build the distributions for. At the moment, those available profiles are: e432
(the upcoming Eclipse 2024-06 release), e431
(for the latest Eclipse release 2024-03) and e430
(for the previous Eclipse 2023-12 release that we support). Those profiles specify where to get the necessary bits and pieces for the build of the distribution. For that, each profile section contains the repositories defined with the URLs.
If you want to build the distribution using a specific Eclipse repository instead of the main one, you would have to modify that repository, e.g. https://github.com/spring-projects/sts4/blob/main/eclipse-distribution/pom.xml#L247 if you want to build against your own repository of the Eclipse 2024-03 release.
If you go down that path, I would strongly recommend to not put random Eclipse repositories in there, but choose the compatible version. So if your own Eclipse repository that you would like to use contains the Eclipse release bits for the 2024-03 release, use that in the profile e431
. And don't put an older Eclipse repo into that profile. Other repositories of that profile contain artifacts that are only compatible with that specific Eclipse release and you will run into build issues if you try to mix and match those repositories.
Here is how I would approach things:
-
start with a fresh copy of the sts4 repository, go to
eclipse-distribution
and run the script at https://github.com/spring-projects/sts4/blob/main/eclipse-distribution/local-build.sh for a local snapshot build. That will use the latest Eclipse release from its source, the latest snapshot bits from the STS4 components, etc. -
if that succeeds, replace the Eclipse repository at https://github.com/spring-projects/sts4/blob/main/eclipse-distribution/pom.xml#L247 with the one that you maintain, but make sure it contains the pieces from the Eclipse 2024-03 release. Run the script again and see if that succeeds.
-
Go the next steps to incorporate the necessary changes to build the distribution for the platform architecture of your choice. At the moment, there are various places in the build definitions where the platform is references, e.g. https://github.com/spring-projects/sts4/blob/main/eclipse-distribution/pom.xml#L247 (the main target definition) or https://github.com/spring-projects/sts4/blob/main/eclipse-distribution/pom.xml#L247 (where we add the JustJ JREs, which you might want to skip, not sure if they are around for your hardware architecture).
Hope that helps and provides some steps to get started here.
from sts4.
I would also strongly recommend to do all these steps from the main branch and not go back in time to a specific tag of older releases, etc. This will cause trouble due to moved p2 repositories, changed URLs, etc. Running from the main branch will be a lot easier.
from sts4.
Thank you for your response. Your answers have been very helpful to me. Our internal Eclipse version is shown in the attached image, and it seems that this version of Eclipse corresponds to sts3. Does this mean we cannot proceed with the build in sts4?
from sts4.
@Panxuefeng-loongson This is a very old version of Eclipse and you will definitely not be able to install any more recent versions of the Spring Tools 4 into that.
We have archived versions of p2 repositories around for a very old version of Spring Tools 4 what was built for Eclipse 4.10 as well as the corresponding STS3 p2 repositories, so you could take an existing Eclipse installation and try to (manually or automatically) install the Spring Tools components into that existing Eclipse installation, but you would end up with extremely old versions of the Spring Tools component. It should be technically possible, but we can't provide support or detailed help for those old and outdated versions anymore.
I would strongly recommend to move to a more recent, up-to-date version of Eclipse and go from there - you will have to do that sometime soon anyway. Otherwise, you could evaluate commercial support options, but I guess you would have to get a very special deal in place to get support for those old versions... ;-)
from sts4.
References to the old Spring Tools 3 components can be found here:
https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3
(there is no version listed for Eclipse 4.10, but you will probably be able to guess those URLs)
A list of older versions of the Spring Tools 4 can be found here:
https://github.com/spring-projects/sts4/wiki/Previous-Versions
from sts4.
- [ ]
so you could take an existing Eclipse installation and try to (manually or automatically) install the Spring Tools components into that existing Eclipse installation
Thank you very much for your reply. Is this approach the same as the Spring Tools for Eclipse extensions?
from sts4.
- [ ]
so you could take an existing Eclipse installation and try to (manually or automatically) install the Spring Tools components into that existing Eclipse installation
Thank you very much for your reply. Is this approach the same as the Spring Tools for Eclipse extensions?
Yes
from sts4.
Related Issues (20)
- Extract to local variable, replace all occurrences broken HOT 4
- indexing runs out of memory for large projects HOT 4
- JPA Repo Entity ID composite key reports problem HOT 1
- Remove `org.springframework.ide.vscode.boot.java.livehover.v2.SpringProcessTracker` and its references HOT 1
- [Question] Any consideration of supporting Java Platform Extension HOT 1
- request mapping symbol doesn't take superclass mapping path into account
- Show active profiles in Boot Dash HOT 2
- latest snapshot builds have wrong port in live hover request mapping URLs HOT 2
- SpringToolSuite (x_86_64 option) IDE keeps crashing frequently. HOT 5
- java.lang.ClassNotFoundException: org.eclipse.jdt.ls.core.internal.javadoc.JavaElementLinks cannot be found by ... HOT 1
- Eclipse crashes after upgrade of libwebkit2gtk to 2.44.x HOT 21
- renaming of files and packages causes symbols to get out of sync HOT 6
- show a nice message when trying to change log levels without a connected running app HOT 4
- CompilationUnitCache: gracefully cleanup the name environment HOT 1
- SpEL Syntax Highlighting
- syntax highlighting for embedded languages (SpEL, JPQL, SQL, HQL, etc.) inside of Java editor (in Eclipse)
- add parser-based validation for JPQL, SQL, HQL snippets HOT 3
- improve parser-based validation for SpEL snippets
- Activating 'vscode-spring-boot' extension HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sts4.