这篇文章主要围绕强制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强制使用某一个版本)
- Android Studio 使用 http 版本的 mavenCentral
- android – 在Manifest文件中指定intent动作的正确方法是什么?
- c# – 在Global.asax中验证HTTP请求并返回特定HTTP响应的正确方法是什么?
- centos – 启动node.js服务的正确方法是什么?
强制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 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动作的正确方法是什么?
然而,
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”吗?
这有点是一个很好的实践问题,而不是一个让我失望的问题.
解决方法
我认为这是我找到的最佳方式.因为您必须仅在一个地方使用更改,并且它会反映在每个引用的位置.
谢谢,
c# – 在Global.asax中验证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中抱怨未处理的异常.它可以工作,因为给定的代码返回给客户端,但我觉得这种方法有问题.
[编辑]:
我已经删除了关于自定义状态行的第二个问题,因为这些问题并没有真正联系起来.
感谢帮助.
解决方法
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服务的正确方法是什么?
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服务的正确方法是什么?等相关知识,可以在本站进行查询。
本文标签: