Maven не может создать локальный репозиторий - PullRequest
1 голос
/ 07 марта 2020

Вот проблема. Я переименовал мою папку пользователя в windows, где была папка .m2. Так что теперь я получаю эту ошибку как в идее, так и в затмении:

[ERROR] Could not create local repository at C:\Users\Олег\.m2\repository -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LocalRepositoryNotAccessibleException

Это старый путь

C: \ Users \ Олег \ .m2 \ repository

и это новый

C: \ Users \ Oleg \ .m2 \ repository

Я пробовал все. Удаление мавена Удаление всех папок кеша. Изменен путь в файле настроек в maven. Изменен путь в плагинах в идее и затмении. Переустановите и идею, и затмение.

Но все равно я не могу запустить любое весеннее приложение. Я получаю либо эту ошибку:

java .lang.ClassNotFoundException: org.springframework .web.servlet.DispatcherServlet

или когда я добавляю зависимость maven в сборку развертывания, я получаю ту ошибку, о которой упоминал выше.

Возможно, кто-то сталкивался с этой проблемой.

Спасибо

Обновление: моя вина. Я должен был объяснить лучше. Я правильно изменил имя пользователя. У администратора и с изменением реестра и прочего

pom. xml file

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.example</groupId>
  <artifactId>Websystems</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>Websystems Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <springCoreVersion>3.2.4.RELEASE</springCoreVersion>
  </properties>

  <dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${springCoreVersion}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${springCoreVersion}</version>
    </dependency>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${springCoreVersion}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${springCoreVersion}</version>
    </dependency>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springCoreVersion}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet.jsp</groupId>    
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.21</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.7</version>
        <scope>test</scope>
    </dependency>

  </dependencies>

  <build>
    <finalName>Websystems</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

1 Ответ

1 голос
/ 07 марта 2020

Переименование вашей пользовательской папки вручную (без переименования пользователя). Я рассматриваю «смелую идею», но я думаю, что для решения этой конкретной проблемы (альтернативы) это может помочь:

  1. «Hack» %USERPROFILE% в cmd:

    SET USERPROFILE=C:\Users\Oleg
    

    в командной строке перед каждым mvn вызовом. (должен выполняться для каждого нового cmd, также может выполняться постоянно через SETX, но, вероятно, вызывает много побочных эффектов.)

  2. Переименовать пользователя ... (очиститель но может вызвать подчиненные проблемы ...)

  3. Создать файл settings.xml в C:\Users\Олег\.m2 со следующим элементом:

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                  https://maven.apache.org/xsd/settings-1.0.0.xsd">
        <localRepository>C:\Users\Oleg\.m2\repository</localRepository>
    
        ...
     </settings>
    
  4. Альтернатива 3. также может применяться глобально (тот же контент): В %MAVEN_HOME%/conf/settings.xml (это, вероятно, лучший и наименее навязчивый выбор для вас.)

  5. ..

Я был бы рад, если это исправит ваш maven, но я предвижу "другие / более проблемы" и настоятельно рекомендую не взломать (= переименовать вручную) ваш пользовательский каталог "(без ОС).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...