Error while executing Simple Spring Boot Application in Spring Tool Suite - spring

I have recently installed Spring Tool Suite 4.0.1 on Ubuntu 18.04 and tried to run hello world spring application but it gives the following compile-time error. I have searched on google a lot but cannot find the relevant info.
Error:
"Description Resource Path Location Type
Archive for required library: '/home/anshul/.m2/repository/org/springframework/spring-test/5.1.2.RELEASE/spring-test-5.1.2.RELEASE.jar' in project 'demo' cannot be read or is not a valid ZIP file"

It looks like the JAR file in your local Maven repository is corrupted. The easiest way to solve this is to completely wipe out the local Maven repo (delete everything under .m2/repository and kick off an Update Maven Project... in STS. That will trigger Maven to download the dependencies again.

Related

creating spring boot project without maven

I am working recently with spring boot framework
my problem is that I need to set up to environment in a device that has no internet
I have searched A lot but all I found is using maven that will handle the processes of downloading all the dependencies
put I need to add the required dependencies like the old way when you download the jar files and add them to the class-path
is there a way to do so with STS
or is there a way to change where the maven download the dependencies to be from local instead of internet
Never used STS but I assume it uses maven/gradle under the hood.
You can set up local repository and point maven/gradle to it. For example you could use Nexus:
https://www.sonatype.com/products/repository-oss
Another way is to pull dependencies (they get downloaded when you do maven or gradle build and are saved under ~/.m2 or ~/.gradle directories), then copy your ~/.gradle or ~/.m2 directory to the PC with no internet and build offline. With gradle it looks like this.
./gradlew build --offline

Cannot every time use internet for downloading spring-boot-starter-parent-2.3.3.RELEASE.pom from central

Is there any mechanism that if i keep all the pom dependencies locally at some path that everytime it gets picked from that path when i run Spring Boot app from command line?
Example: Everytime i dont't want to donwload the pom dependencies from repository as below and want to keep somewhere locally for use.
Downloading from central: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.3.3.RELEASE/spring-boot-starter-parent-2.3.3.RELEASE.pom
I feel your question is a bit strange because it describes the main feature of maven.
When building a project with maven, all the dependencies required by your project are downloaded into a local repository. Future builds won't download again those dependencies.
When running a springboot application using maven, the downloaded dependencies are provided to the application's classpath so they aren't downloaded again.
When running a packaged springboot application, the dependencies are already inserted in the springboot fat jar so they aren't downloaded again.
Another point, if you want to ensure maven does not download anything you can execute maven in "offline mode" using the following parameter "-o"

Spring Boot Maven pom.xml error

I am using Spring Boot to build an application. I downloaded initialized zip project file from start.spring.io/. When I import the project I am getting the following error. By googling I could hardly understand it is proxy or connection issue. But I am able to open the url in browser.
Some people mentioned to change in settings.xml in maven. My eclipse implicitly comes with maven so I did not install maven separately. I tried adding proxy in eclipse as well. But no luck.

How to change the location of Spring STS tool repository

I am getting the following error when run spring boot application.
Actually .m2 repository accidentally deleted. When re-running the application it is updated, but it is showing the following error. please do help in this regard.
Archive for required library:
C:/Users/Sathish/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.6/tomcat-embed-core-8.5.6.jar'
in project 'Application' cannot be read or is not a valid ZIP file
Looks like the mentioned JAR file in the local Maven repository is corrupt. I would delete this file manually from the repository, go back to STS, and run an "Maven -> Update Project...", maybe also checking the "Force Download of Snapshots/Releases". That should help.

MyEclipse 8.5 creating 'maven-archetype-quickstart' has encountered a prob?

I use the built-in maven of MyEclipse 8.5 to create maven projects.
It shows the following error:
Image is here:pic
Sorry, because I'm new I can't post pictures here yet.
I did it twice on two computers (both are MyEclipse 8.5), but the error was the same.
I use a Eclipse to do the same job and it is successful.
But when using MyEclipse 8.5 to do the job if check "create a simple project (skip archetype selection)" during the process, the project can be created and no error happens, but there is no the folder "Maven Dependencies" in the project created in Package Explorer.
Is this a bug of this version of MyEclipse? Because Eclipse Indigo works fine on this.
If you create a simple project, the folder Maven Dependencies is missing simply because there are no Maven Dependencies in a simple project. Just add a dependency, and the folder Maven Dependencies should be created with your dependency in it.

Resources