Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从使用Maven的Visual Studio Java代码开始_Java_Maven_Visual Studio Code - Fatal编程技术网

从使用Maven的Visual Studio Java代码开始

从使用Maven的Visual Studio Java代码开始,java,maven,visual-studio-code,Java,Maven,Visual Studio Code,我要回到Java开发的起源。我习惯于在C中使用Nuget软件包。我有Maven的基本概念。我想使用VSC Visual Studio代码 我正在寻找如何导入我的第一个包以使用函数/方法ByteUtils。这个方法似乎来自Apache包 这是我的pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww

我要回到Java开发的起源。我习惯于在C中使用Nuget软件包。我有Maven的基本概念。我想使用VSC Visual Studio代码

我正在寻找如何导入我的第一个包以使用函数/方法ByteUtils。这个方法似乎来自Apache包

这是我的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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>testGroupId</groupId>
  <artifactId>artifactId</artifactId>
  <version>1.0</version>

  <name>artifactId</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>
  </properties>

  <dependencies>

    <dependency>
      <groupId>org.apache</groupId>
      <artifactId>apache</artifactId>
      <version>21</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_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-jar-plugin</artifactId>
          <version>3.0.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>
        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
我的问题。为什么不能加载或下载ny org.apache依赖项?

该工件不是JAR工件,而是POM工件,可以用作maven模块的父级,也可以在depencyManagement部分中使用

如果您添加一个POM工件作为普通依赖项,maven将尝试下载工件的jar文件,但它不存在,因此会出现错误

添加为父项

<parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
</parent>

您是否能够从命令提示符下生成?在添加my dependency org.apache yesMaybe之前,我的dependency被错误引用了?这是一个参考问题。当我从pom.xml中删除它时,我可以再次构建它。我可以使用VSC和Maven项目部分的编译选项进行构建。你确定吗。我找不到这个ByteUtils来自哪里。@BastienVandamme您的代码没有引用该类。请告诉包中的完整类。@BastienVandamme如果您想使用org.apache.commons.compress.utils.ByteUtils,那么您必须添加org.apache.commons:commons compress:jar:1.18作为依赖项。是,但在注释中。org.apache.commons:commons-compress:jar:1.18你怎么知道的?@BastienVandamme我使用谷歌搜索包含类的特定工件。
<parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
</parent>
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.apache</groupId>
      <artifactId>apache</artifactId>
      <version>21</version>
      <scope>import</scope>
    </dependency>
 </dependencies>
</dependencyManagement>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-compress</artifactId>
    <version>1.18</version>
</dependency>