Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

O sistema não pode encontrar o arquivo especificado.

Oi professor estou trabalhando em uma api para a empresa que eu trabalho e estou tendo dificuldades. Nesta api eu tenho dois bancos de dados no meu arquio application.properties como pode verInsira aqui a descrição dessa imagem para ajudar na acessibilidade por motivos de segurança eu borrei os logs . Logo depois eu crie application-prod.properties Insira aqui a descrição dessa imagem para ajudar na acessibilidade

que ficou dessa maneira

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

entao no terminal eu passo

java
-Dspring.profiles.active=prod
-Dspring.datasource.fuom.jdbcUrl="jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=FUOM"  
-Dspring.datasource.fuom.username==*******
-Dspring.datasource.fuom.password==******* 
-Dspring.datasource.fuom.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

-Dspring.datasource.saceteacher.jdbcUrl="jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=SACE_TEACHER" 
-Dspring.datasource.saceteacher.username=******* 
-Dspring.datasource.saceteacher.password==******* 
-Dspring.datasource.saceteacher.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

-jar portalprofessorapi-0.0.1-SNAPSHOT.jar

so que da erro fala que O sistema não pode encontrar o arquivo especificado.

6 respostas

Oi!

No windows você precisa passar os parâmetros entre aspas duplas:

java
"-Dspring.profiles.active=prod" 
"-Dspring.datasource.fuom.jdbcUrl=jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=FUOM" 
"-Dspring.datasource.fuom.username==*******" "-Dspring.datasource.fuom.password==*******" 
"-Dspring.datasource.fuom.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver"
"-Dspring.datasource.saceteacher.jdbcUrl=jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=SACE_TEACHER" 
"-Dspring.datasource.saceteacher.username=*******" 
"-Dspring.datasource.saceteacher.password==*******" 
"-Dspring.datasource.saceteacher.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver"

-jar portalprofessorapi-0.0.1-SNAPSHOT.jar

Obs: Lembre-se de executar o comando de dentro da pasta target, onde está localizado o arquivo .jar

eu fiz como você falou Rodrigo, agora deu um erro diferente

Aparece isso

no main manifest attribute, in portalprofessorapi-0.0.1-SNAPSHOT.jar

oq significa oq eu faço

meu pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>br.edu.uniformg</groupId>
    <artifactId>portalprofessorapi</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>portalprofessorapi</name>
    <description>Utilizado para a criação do plano de ensino, quadro de disponibilidade e etc.</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
                <groupId>org.jetbrains</groupId>
                <artifactId>annotations</artifactId>
                <version>22.0.0</version>
        </dependency>
          <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>9.4.0.jre8</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId><!--$NO-MVN-MAN-VER$-->
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.30</version>
        <scope>provided</scope>
    </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!--  SPRING  SECURITY-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <!--  JWT TOKENS -->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>4.2.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/jakarta.mail/jakarta.mail-api -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-oauth2-authorization-server</artifactId>
            <version>0.2.3</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

adicionei essa propriedade ao meu pom como foi discutido nesse fórum

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <mainClass>com.places.Main</mainClass>
    </configuration>

    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

https://stackoverflow.com/questions/54867295/springboot-no-main-manifest-attribute-maven

e quando tentei executar novamente deu uma Exception

Exception in thread "main" java.lang.ClassNotFoundException: com.places.Main
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:149)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:534)
        at java.base/java.lang.Class.forName(Class.java:513)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:95)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)

Nessa tag:

<mainClass>com.places.Main</mainClass>

Você deve alterar e colocar o caminho da classe main do seu projeto.

solução!

Oi professor Rodrigo sou eu de novo consegui resolver a situação

1 eu atualizei meu pom.xml, apaguei minha pasta .m2

2 depois no pom.xml o arquivo Spring boot não estava reconhecendo o meu arquivo main então eu tive que mostra qual era meu arquivo main

o codigo estava assim

.
.
.

 </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

e tive colocar assim

 </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>br.edu.uniformg.portalprofessorapi.PortalprofessorapiApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

outra coisa que passou desapercebido era como eu estava passando o login e a senha eu estava passando assim

java
"-Dspring.profiles.active=prod" 
"-Dspring.datasource.fuom.jdbcUrl=jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=FUOM" 
"-Dspring.datasource.fuom.username==*******" "-Dspring.datasource.fuom.password==*******" 
"-Dspring.datasource.fuom.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver"
"-Dspring.datasource.saceteacher.jdbcUrl=jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=SACE_TEACHER" 
"-Dspring.datasource.saceteacher.username=*******" 
"-Dspring.datasource.saceteacher.password==*******" 
"-Dspring.datasource.saceteacher.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver"

-jar portalprofessorapi-0.0.1-SNAPSHOT.jar

como voce falou so q eu eu tinha que passar assim

java "-Dspring.profiles.active=prod" "-DDATASOURCE_URL_FUOM=jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=FUOM" "-DDATASOURCE_NAME_FUOM=******" "-DDATASOURCE_PASSWORD_FUOM=*****" "-DDATASOURCE_URL_SACETEACHER=jdbc:sqlserver://localhost:1433;SelectMethod=Cursor;databaseName=SACE_TEACHER" "-DDATASOURCE_NAME_SACETEACHER=******" "-DDATASOURCE_PASSWORD_SACETEACHER=*******" -jar portalprofessorapi-0.0.1-SNAPSHOT.jar

sem haver quebra de linhas e chamando as variaveis que foi colocado no meu arquivo application-prod.properties

Insira aqui a descrição dessa imagem para ajudar na acessibilidade