Spring启动无法启动Spring Cloud AWS Core依赖项

时间:2018-01-24 20:33:49

标签: spring spring-boot spring-cloud spring-cloud-aws

我正在编写一个Spring引导应用程序来访问s3存储桶中的内容,但是当我使用spring初始化程序中的启动程序# move all files into servername_mmm_yyyy folder Get-ChildItem $file_path -Recurse | Where-Object { ($_.LastWriteTime -lt $zip_date) -and ($_.psIsContainer -eq $false)}| foreach { $x = $_.LastWriteTime.ToShortDateString() $month_year = Get-Date $x -Format MMM_yyyy $servername = $_.Directory.Name $file_destination = ($destination)+($servername)+"_"+($month_year) if (test-path $file_destination){ copy-item $_.fullname $file_destination } else { new-item -ItemType directory -Path $file_destination copy-item $_.fullname $file_destination } } 依赖项时,我得到NoClassDefFoundError

我在这里错过了一些其他依赖吗?

以下是我的依赖项。

spring-cloud-starter-aws

我还为<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-aws</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-cassandra</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-integration</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> 定义了dependencyManagement块,并使用spring-cloud-dependencies作为Edgware.SR1

启动时,我的应用程序失败,出现以下错误。

spring-cloud-version

不确定我在这里缺少什么?如果您需要更多详细信息,请与我们联系。我使用的春季启动版本是2018-01-24 12:20:25.642 INFO 1980 --- [ main] utoConfigurationReportLoggingInitializer : Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 2018-01-24 12:20:25.666 ERROR 1980 --- [ main] o.s.boot.SpringApplication : Application startup failed org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.art.productattribution.consumerintegration.ConsumerIntegrationApplication]; nested exception is java.lang.NoClassDefFoundError: com/amazonaws/AmazonClientException at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:616) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]

3 个答案:

答案 0 :(得分:0)

似乎在类路径中找不到com.amazonaws.AmazonClientException。我认为您可以在POM.xml文件中添加以下依赖项来解决此问题。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-aws-core</artifactId>
    <version>1.2.2.RELEASE</version>
</dependency>

答案 1 :(得分:0)

正确的依赖是public partial class MainWindow : ModernWindow { public MainWindow() { InitializeComponent(); } public override void OnApplyTemplate() { base.OnApplyTemplate(); var frame = Template.FindName("ContentFrame", this) as ModernFrame; if(frame != null) frame.CommandBindings.Add(new CommandBinding(FirstFloor.ModernUI.Windows.Navigation.LinkCommands.NavigateLink, OnNavigateLinkExecuted)); } private void OnNavigateLinkExecuted(object sender, ExecutedRoutedEventArgs e) { if(e.Parameter == null) { ModernDialog dialog = new ModernDialog(); dialog.ShowDialog(); } else { OnNavigateLink(sender, e); } } private void OnNavigateLink(object sender, ExecutedRoutedEventArgs e) { if (LinkNavigator != null) { Uri uri; string parameter; string targetName; if (FirstFloor.ModernUI.Windows.Navigation.NavigationHelper.TryParseUriWithParameters(e.Parameter, out uri, out parameter, out targetName)) LinkNavigator.Navigate(uri, e.Source as FrameworkElement, parameter); } } } 。在您的pom文件中添加以下内容(截至2017年11月22日的版本1.2.2):

<mui:ModernWindow.TitleLinks>
    <mui:Link x:Name="connect" DisplayName="connect"/>
    <mui:Link DisplayName="settings" Source="/Pages/SettingsPage.xaml" />
    <mui:Link DisplayName="help" Source="https://github.com" />
</mui:ModernWindow.TitleLinks>

以下是Spring Cloud AWS模块:

Spring Cloud AWS Core 是Spring Cloud AWS的核心模块,为安全性和配置设置提供基本服务。开发人员不会直接使用此模块,而是通过其他模块。核心模块为基于云的环境配置提供支持,可直接访问基于实例的EC2元数据和整个应用程序堆栈特定的CloudFormation元数据。

Spring Cloud AWS Context 通过Spring资源加载器抽象提供对Simple Storage Service的访问。此外,开发人员可以使用简单电子邮件服务和Spring邮件抽象发送电子邮件。此外,开发人员可以使用Spring缓存支持和ElastiCache缓存服务引入声明性缓存。

Spring Cloud AWS JDBC 为关系数据库服务提供自动数据源查找和配置,可以与Spring一起使用JDBC或任何其他支持数据访问技术。

Spring Cloud AWS Messaging 使开发人员能够使用简单队列服务接收和发送消息,以进行点对点通信。通过简单通知服务的集成支持发布 - 订阅消息传递。

参考:http://cloud.spring.io/spring-cloud-aws/spring-cloud-aws.html#_using_amazon_web_services

答案 2 :(得分:0)

您需要包括@alltej提到的依赖项。如果您在本地运行,还需要在application.properties文件中添加以下属性。

cloud.aws.stack.auto=false