GVKun编程网logo

强制Maven将HTTPS用于Maven Central的正确方法是什么?(maven强制使用某一个版本)

15

这篇文章主要围绕强制Maven将HTTPS用于MavenCentral的正确方法是什么?和maven强制使用某一个版本展开,旨在为您提供一份详细的参考资料。我们将全面介绍强制Maven将HTTPS用于

这篇文章主要围绕强制Maven将HTTPS用于Maven Central的正确方法是什么?maven强制使用某一个版本展开,旨在为您提供一份详细的参考资料。我们将全面介绍强制Maven将HTTPS用于Maven Central的正确方法是什么?的优缺点,解答maven强制使用某一个版本的相关问题,同时也会为您带来Android Studio 使用 http 版本的 mavenCentral、android – 在Manifest文件中指定intent动作的正确方法是什么?、c# – 在Global.asax中验证HTTP请求并返回特定HTTP响应的正确方法是什么?、centos – 启动node.js服务的正确方法是什么?的实用方法。

本文目录一览:

强制Maven将HTTPS用于Maven Central的正确方法是什么?(maven强制使用某一个版本)

强制Maven将HTTPS用于Maven Central的正确方法是什么?(maven强制使用某一个版本)

最近,sonatype启用了Maven
Central以支持https(背景信息)。现在,我在pom.xml中添加了以下代码段,以在所有地方强制使用https:

<!-- force https --><repositories>    <repository>        <id>central</id>        <url>https://repo1.maven.org/maven2</url>        <snapshots>            <enabled>false</enabled>        </snapshots>    </repository></repositories><pluginRepositories>    <pluginRepository>        <id>central</id>        <url>https://repo1.maven.org/maven2</url>        <snapshots>            <enabled>false</enabled>        </snapshots>    </pluginRepository></pluginRepositories>

问题:

  • 这够了吗?还是在某个地方仍然包含http?
  • 这是正确的做法吗?如我所读,我应该在settings.xml中执行此操作。但是,其他使用我的(开源)项目的人将不会使用安全连接。

更新资料

它看起来还不够,例如,仍然使用HTTP的程序集插件:

[INFO] --- maven-assembly-plugin:2.4:single (make-assembly) @ graphhopper-web ---Downloading: http://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar

答案1

小编典典

最新的Maven 3.2.3已修复此问题!查看变更日志!

所以安装maven 3.2.3并执行’rm -rf〜/ .m2 / repository / *’以获得更好的感觉;)

Android Studio 使用 http 版本的 mavenCentral

Android Studio 使用 http 版本的 mavenCentral

如何解决Android Studio 使用 http 版本的 mavenCentral?

我刚刚从 Android Studio 4.1.1 更新到 4.2.2。下面是我的项目 build.gradle 文件。更新后,运行我的应用程序工作正常,但运行测试失败。运行测试的 Android Studio 4.1.1 机器仍然可以工作。

我知道对 Maven 存储库的请求现在需要 https,但我没有 gradle 文件中的引用。就像 4.2.2 将 mavenCentral 存储库更改为使用 http 而不是 https 一样,否则,我不确定为什么这在 4.1.1 中有效,但在 4.2.2 中无效。有没有办法强制 repo 为 https?

build.gradle

buildscript {
    ext {
        kotlinVersion = ''1.3.72''
    }
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath ''com.android.tools.build:gradle:4.1.1''
        classpath ''com.google.gms:google-services:4.3.3''
        classpath ''com.google.firebase:perf-plugin:1.3.1''
        classpath ''com.google.firebase:firebase-crashlytics-gradle:2.2.0''
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter()
        flatDir {
            // Needs to be here to be included in both misnap and app modules
            dirs project('':misnapworkflow_UX2'').file(''libs'')
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext {
    buildToolsversion = ''29.0.2''
    compileSdkVersion = 29
    minSdkVersion = 21
    targetSdkVersion = 29

    daggerVersion = ''2.27''
    okHttpVersion = ''4.7.2''
}

运行测试时出错

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.robolectric.util.ReflectionHelpers$6 (file:/Users/jwhitsit/.gradle/caches/modules-2/files-2.1/org.robolectric/shadowapi/4.3.1/a93e55b36c418aa3afc17c26eac82590a3bfb63e/shadowapi-4.3.1.jar) to method java.lang.classLoader.getPackage(java.lang.String)
WARNING: Please consider reporting this to the maintainers of org.robolectric.util.ReflectionHelpers$6
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[Robolectric] com.commercebank.honeybadger.chat.ChatwindowFragmentTest.whenMinimizeClicked_CloseFragment: sdk=28; resources=BINARY
Downloading from maven 
Downloading: org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.pom from repository sonatype at https://oss.sonatype.org/content/groups/public/
Error transferring file: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default,provider: SunjsSE,class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
[WARNING] Unable to get resource ''org.robolectric:android-all:pom:10-robolectric-5803371'' from repository sonatype (https://oss.sonatype.org/content/groups/public/): Error transferring file: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default,class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
Downloading: org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.pom from repository central at http://repo1.maven.org/maven2
Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.pom
[WARNING] Unable to get resource ''org.robolectric:android-all:pom:10-robolectric-5803371'' from repository central (http://repo1.maven.org/maven2): Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.pom
Downloading: org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.jar from repository sonatype at https://oss.sonatype.org/content/groups/public/
Error transferring file: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default,class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
[WARNING] Unable to get resource ''org.robolectric:android-all:jar:10-robolectric-5803371'' from repository sonatype (https://oss.sonatype.org/content/groups/public/): Error transferring file: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default,class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
Downloading: org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.jar from repository central at http://repo1.maven.org/maven2
Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.jar
[WARNING] Unable to get resource ''org.robolectric:android-all:jar:10-robolectric-5803371'' from repository central (http://repo1.maven.org/maven2): Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/org/robolectric/android-all/10-robolectric-5803371/android-all-10-robolectric-5803371.jar

Unable to resolve artifact: Missing:
----------
1) org.robolectric:android-all:jar:10-robolectric-5803371

  Try downloading the file manually from the project website.

  Then,install it using the command: 
      mvn install:install-file -DgroupId=org.robolectric -DartifactId=android-all -Dversion=10-robolectric-5803371 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively,if you host your own repository you can deploy the file there: 
      mvn deploy:deploy-file -DgroupId=org.robolectric -DartifactId=android-all -Dversion=10-robolectric-5803371 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency: 
    1) org.apache.maven:super-pom:pom:2.0
    2) org.robolectric:android-all:jar:10-robolectric-5803371

----------
1 required artifact is missing.

for artifact: 
  org.apache.maven:super-pom:pom:2.0

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),sonatype (https://oss.sonatype.org/content/groups/public/)



    at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:268)
    at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:168)
    at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:751)
    at org.robolectric.internal.dependency.MavendependencyResolver.whileLocked(MavendependencyResolver.java:95)
    at org.robolectric.internal.dependency.MavendependencyResolver.getLocalArtifactUrls(MavendependencyResolver.java:74)
    at org.robolectric.internal.dependency.MavendependencyResolver.getLocalArtifactUrls(MavendependencyResolver.java:39)
    at org.robolectric.internal.dependency.MavendependencyResolver.getLocalArtifactUrl(MavendependencyResolver.java:107)
    at org.robolectric.internal.dependency.CachedDependencyResolver.getLocalArtifactUrl(CachedDependencyResolver.java:44)
    at org.robolectric.plugins.CachedMavendependencyResolver.getLocalArtifactUrl(CachedMavendependencyResolver.java:32)
    at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:86)
    at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:127)
    at org.robolectric.android.internal.AndroidTestEnvironment.loadAppPackage_measured(AndroidTestEnvironment.java:309)
    at org.robolectric.android.internal.AndroidTestEnvironment.lambda$loadAppPackage$1(AndroidTestEnvironment.java:284)
    at org.robolectric.util.PerfStatsCollector.measure(PerfStatsCollector.java:53)
    at org.robolectric.android.internal.AndroidTestEnvironment.loadAppPackage(AndroidTestEnvironment.java:282)
    at org.robolectric.android.internal.AndroidTestEnvironment.installAndCreateApplication(AndroidTestEnvironment.java:178)
    at org.robolectric.android.internal.AndroidTestEnvironment.setUpApplicationState(AndroidTestEnvironment.java:169)
    at org.robolectric.RobolectricTestRunner.beforeTest(RobolectricTestRunner.java:301)
    at org.robolectric.internal.SandBoxTestRunner$2.lambda$evaluate$0(SandBoxTestRunner.java:243)
    at org.robolectric.internal.bytecode.SandBox.lambda$runOnMainThread$0(SandBox.java:89)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException: Missing:
----------
1) org.robolectric:android-all:jar:10-robolectric-5803371

  Try downloading the file manually from the project website.

  Then,sonatype (https://oss.sonatype.org/content/groups/public/)


    at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:360)
    at org.apache.maven.artifact.ant.DependenciesTask.doExecuteResolution(DependenciesTask.java:263)
    ... 23 more


解决方法

请尝试将您的 Android Gradle 构建插件升级到

classpath ''com.android.tools.build:gradle:4.2.2''

或者,作为一种解决方法,您可以尝试将 mavenCentral() 替换为

maven { url "https://repo.maven.apache.org/maven2" }

android – 在Manifest文件中指定intent动作的正确方法是什么?

android – 在Manifest文件中指定intent动作的正确方法是什么?

该教程说在 XML intent-filter中的action元素中使用android.appwidget.action.APPWIDGET_UPDATE.

然而,

this is the value of a String constant ACTION_APPWIDGET_UPDATE in
android.appwidget.AppWidgetManager

– 我是Android新手,但在一般编程中,鼓励使用符号常量而不是文字值.

我可以在我的xml文件中使用android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE而不是“android.appwidget.action.APPWIDGET_UPDATE”吗?

这有点是一个很好的实践问题,而不是一个让我失望的问题.

解决方法

请在res / value / String.xml文件中使用自定义意图过滤器操作值,并在需要的所有位置使用它,即manifest.xml以及其他java文件.

我认为这是我找到的最佳方式.因为您必须仅在一个地方使用更改,并且它会反映在每个引用的位置.

谢谢,

c# – 在Global.asax中验证HTTP请求并返回特定HTTP响应的正确方法是什么?

c# – 在Global.asax中验证HTTP请求并返回特定HTTP响应的正确方法是什么?

我正在尝试验证服务收到的HTTP请求.我想检查是否存在所有必需的标头等.如果没有,我想抛出一个异常,在某些地方,它会设置一个正确的响应代码和响应的状态行.我不想将用户重定向到任何特定的错误页面,只需发送答案.

我想知道我应该把代码放在哪里?我的第一个猜测是在Application_BeginRequest中验证请求,在错误时抛出异常并在Application_Error中处理它.

例如:

public void Application_BeginRequest(object sender,EventArgs e)
 {
     if(!getValidator.Validate(HttpContext.Current.Request))
     {
         throw new HttpException(486,"Something dark is coming");
     }
 }

 public void Application_Error(object sender,EventArgs e)
 {
     HttpException ex = Server.GetLastError() as HttpException;
     if (ex != null)
     {
            Context.Response.StatusCode = ex.ErrorCode;
            Context.Response.Status = ex.Message;
     }
 }

显然,在这种情况下,Visual Studio会在Application_BeginRequest中抱怨未处理的异常.它可以工作,因为给定的代码返回给客户端,但我觉得这种方法有问题.

[编辑]:
我已经删除了关于自定义状态行的第二个问题,因为这些问题并没有真正联系起来.

感谢帮助.

解决方法

抛出异常时,Visual Studio会默认中断执行.您可以通过调试 – >更改此行为异常并取消选中公共语言运行时异常旁边的复选框.但是,这里的主要问题是你抛出异常只是为了捕获它并在响应上设置状态代码.你可以做到这一点,而不会抛出异常.例如
void Application_BeginRequest(object sender,EventArgs e)
{
    if(!getValidator.Validate(HttpContext.Current.Request))
    {
        HttpContext.Current.Response.StatusCode = 403 
        var httpApplication = sender as HttpApplication;
        httpApplication.CompleteRequest();
    }
}

centos – 启动node.js服务的正确方法是什么?

centos – 启动node.js服务的正确方法是什么?

我在CentOS 6上运行node.js服务( statsd).守护和启动这样一个服务的正确方法是什么?

潜在的守护者 – 应该是特定语言或一般的守护者?:

> forever(特定于节点)
> daemonize
> nohup(大概错了)
> start-stop-daemon(仅限debian?用于守护或启动/停止?Centos相当于什么?)
>应用程序本身是否真的知道如何守护自己,然后有一个-d标志? (例如通过node-daemonize2或forever-monitor?)

服务启动器 – 应该来自系统/发行版,还是应该来自monit等监控工具?:

>服务?在CentOS上真的是/etc/init.d吗?
>服务?在Ubuntu上真的是Upstart吗?
> monit?
> daemontools?
> runit?

不幸的是,我很陌生 – 在哪里可以阅读最标准,最经典,最可靠的方法?

Should the app itself really kNow how to daemonize itself…

如果您的应用程序要作为守护程序运行,是的,它应该完全了解如何守护自身,编写适当的文件(记住日志和PID),以及处理信号.如果不是这样的话,大WTF.

如果你的应用程序真的不是为了守护,或者这不是它的原始目的,那么这完全是你的决定.如果你想让别人轻松,你可能会添加它.如果你想让自己的生活更轻松,你可能会把它留下来.人们通常不会有任何“WTF”回应.

Service starters…

每个发行版的软件包/端口系统都应负责修改通用的启动/停止脚本以满足其特定需求.这些东西通常不是火箭科学,但如果有疑问,请联系维护人员,为你正在研究的发行版.

Monitoring tools..

应该知道如何与distro的官方启动/停止机制进行交互,并且应该不知道如何专门与您的程序交互(除非您的程序通过报告机制“发布”数据,可能包括SNMP服务或类似的钩子;所有这实际上取决于你的程序做了什么).

今天关于强制Maven将HTTPS用于Maven Central的正确方法是什么?maven强制使用某一个版本的分享就到这里,希望大家有所收获,若想了解更多关于Android Studio 使用 http 版本的 mavenCentral、android – 在Manifest文件中指定intent动作的正确方法是什么?、c# – 在Global.asax中验证HTTP请求并返回特定HTTP响应的正确方法是什么?、centos – 启动node.js服务的正确方法是什么?等相关知识,可以在本站进行查询。

本文标签: