Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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
Java 如何在GitHub上管理外部JS/CSS库_Java_Javascript_Maven_Repository_Project Management - Fatal编程技术网

Java 如何在GitHub上管理外部JS/CSS库

Java 如何在GitHub上管理外部JS/CSS库,java,javascript,maven,repository,project-management,Java,Javascript,Maven,Repository,Project Management,对于我的Java项目,它使用Maven,我最近在GitHub上的存储库中添加了Twitters引导。现在我注意到我的GitHub语言统计数据从 100%Java 到 66%Java 33,3%JavaScript 既然我没有写JS部分,有没有一种方法可以管理这部分内容而不算我的,或者一个人通常如何管理GitHub存储库中的外部JS代码或一般项目 GitHub统计数据并不错误:您的项目由大量Java和JavaScript代码组成。如果说它是一个100%的Java项目,那就不正确了 在您自

对于我的Java项目,它使用Maven,我最近在GitHub上的存储库中添加了Twitters引导。现在我注意到我的GitHub语言统计数据从

  • 100%Java

  • 66%Java 33,3%JavaScript
既然我没有写JS部分,有没有一种方法可以管理这部分内容而不算我的,或者一个人通常如何管理GitHub存储库中的外部JS代码或一般项目

  • GitHub统计数据并不错误:您的项目由大量Java和JavaScript代码组成。如果说它是一个100%的Java项目,那就不正确了
  • 在您自己的代码存储库中包含依赖项并不常见。您可以手动或自动安装它们(使用不同编程语言/环境的系统/方法)。例如,Python有一个名为requirements.txt的文件,其中列出了依赖项,但在Java中,我可以想象会有类似的方法
    • 我最近也遇到了这个问题。有几种方法可以解决这个问题:

      • 使用性能优化的版本,例如bootstrap.min.js而不是bootstrap.js等来确定每个存储库的语言比例。这不会将其减少到零,但至少会减少比例

      • 这可能就是您想要的:GitHub有一个从语言图中提取的。您将看到,jQuery已经是排除的一部分。还有一个挂起的pull请求,用于添加Twitter引导。如果此操作未通过,您可以始终将文件添加到名为vendor的目录中,这些文件将从统计数据中排除

      • 使用:有了它,您可以根据请求使用

      • 还有用于这些JavaScript库的Maven存储库:。但是,这些文件是安装在
        /ext/bootstrap/
        上的,我不知道这有什么帮助

      • 还有更多的解决方案,比如

      最后,我的建议是:只需将文件放入存储库。我在GitHub上使用jQuery和TwitterBootstrap研究了一些更大的项目,他们都将JavaScript库文件放入存储库


      这些JavaScript库文件的优点是它们不必进行编译。利用这一优势,不要为了美观而增加额外负担。最佳实践似乎是将其添加到存储库中,并使用愚蠢的语言图。谁知道呢,将来可能会忽略某些文件。

      使用git子模块或将第三方文件放在名为“供应商”的目录中。那么Github就不会把它们作为代码的一部分了

      Maven的最佳实践是将项目分成几个子模块,每个子模块都有一个小的、定义良好的用途。如果将不同类型的源放在同一个Maven模块中,则使用不当。假设最终会得到一个.war,那么我的建议是添加Bootstrap、jQuery和任何其他库作为zip依赖项,这些库将包含在war构建中

      假设您可以将这些库作为可下载的Maven依赖项提供(我将在下面讨论您实现这一点的选项),那么您只需将它们声明为war工件的依赖项:

      
      com.twitter.bootstrap
      :将源文件(js、css和图像文件)放入,并添加一个仅将资源目录中的所有文件复制到zip中的文件。在服务器上设置一个maven存储库(一台具有sftp访问权限的简单HTTP服务机器就足够了),并在该项目上执行一个maven版本,以将工件上载到服务器上

      (无论如何,您应该有一个maven存储库来发布您自己的项目)

      接下来,您需要在实际项目的pom文件中声明您的存储库,在引导工件上添加依赖项,并配置maven依赖项插件以将其解压缩到您选择的位置:

      。。。
      自举回购
      引导公共存储库
      http://repo.yourhost.net/release
      真的
      假的
      ...
      com.twitter.bootstrap
      下载zip并从中提取文件


      或者,您可以在twitter bootstrap maven项目中使用此技巧,以避免复制他们的源文件。

      这个问题已经相当老了,但为了将来参考,应该注意的是,GitHub在2014年添加了一个新工具来处理此问题。可能是因为在存储库上打开了一个

      此功能允许将某些文件视为库、文档或特定语言

      只需将
      .gittributes
      文件添加到存储库中即可。例如,要忽略库文件夹,只需添加以下行:

      library/*语言学家
      
      或要设置文档文件夹,请添加以下行:

      docs/*语言学家文档
      

      可以找到更多的例子。

      看看@jamesalardice,但是JQuery或Twitter引导的源代码不是我感兴趣的。你对Hames Allardices说什么?对git子模块有什么提示?它们在你的情况下值得一看。我以前没有用过,所以我不能对此发表评论。我不认为这对我的情况有什么帮助。Python不是我正在使用的,关于GitHub统计数据的争论似乎很弱。如果统计数据包含您正在使用的所有JAR库,或者如果您正在使用的每个项目代码统计数据都包含Linux内核代码,等等,那就没有任何乐趣了。那么您当前如何安装依赖项呢?这些应该作为构建脚本的一部分安装,您不必将它们包含在存储库中