小编Ser*_*hyr的帖子

无法加载,因为找不到支持的源.播放HTML5音频元素时

我有HTML5音频元素

<audio src="/sounds/call.wav" id="audio1" repeated="0" repetitions="1" class="audio_sound"></audio>
Run Code Online (Sandbox Code Playgroud)

如果我尝试element.play()在Chrome网络控制台中显示奇怪的错误.

未捕获(在promise中)DOMException:无法加载,因为找不到支持的源.

我没有找到任何线索,为什么会出现此错误以及如何解决它.

javascript audio html5 google-chrome chromium

20
推荐指数
1
解决办法
4万
查看次数

使用 spotify/dockerfile-maven-plugin 推送 docker hub 时出错

我有一个构建为 docker 镜像的 Maven 项目。我正在使用spotify/dockerfile-maven来构建这个镜像,并在 on 上自动将它推送到 docker.hub mvn clean install。该build阶段顺利通过。但是push我有这个错误:

[ERROR] denied: requested access to the resource is denied
[WARNING] An attempt failed, will retry 1 more times
org.apache.maven.plugin.MojoExecutionException: Could not push image
    at com.spotify.plugin.dockerfile.PushMojo.execute(PushMojo.java:90)
........
Caused by: com.spotify.docker.client.exceptions.DockerException: denied: requested access to the resource is denied
    at com.spotify.plugin.dockerfile.LoggingProgressHandler.handleError(LoggingProgressHandler.java:105)
    at com.spotify.plugin.dockerfile.LoggingProgressHandler.progress(LoggingProgressHandler.java:63)
......
Run Code Online (Sandbox Code Playgroud)

这是我的插件配置:

     <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>1.3.6</version>
                    <configuration>
                        <repository>${docker.image.prefix}/${project.artifactId}-istio</repository>
                        <tag>latest</tag>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>build</goal>
                                <goal>push</goal>
                            </goals>
                        </execution> …
Run Code Online (Sandbox Code Playgroud)

java maven docker dockerhub maven-docker-plugin

7
推荐指数
1
解决办法
2867
查看次数

Kubernetes服务发现无法解析minikube上的服务主机

我正在尝试在minikube安装上运行的k8上运行两项服务。因此,我有服务FooBar,因此在访问服务时,Foo它必须触发服务Bar才能获取数据。

这是Foo服务 的部署配置foo-deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: foo-server
  labels:
    app: foo-server
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: foo-server
        serving: "true"
    spec:
      containers:
      - name: foo-server
        image: foo-container
        env:
        - name: BAR_SERVICE_URL
          value: http://bar-server:8081
        ports:
        - containerPort: 8080
          name: http
Run Code Online (Sandbox Code Playgroud)

foo-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: foo-server
  labels:
    app: foo-server
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
    name: http
  selector:
    app: foo-server …
Run Code Online (Sandbox Code Playgroud)

dns service-discovery kubernetes kube-dns minikube

5
推荐指数
1
解决办法
3462
查看次数

在Docker中构建gradle项目

我有一个简单的gradle项目,我想在Docker容器中构建

我有一个多级docker构建.第一阶段只是从github克隆项目.第二阶段必须建立项目,以便我可以在最后阶段运行它.但它失败了

FROM gradle:4.2.1-jdk8-alpine
WORKDIR /app
COPY --from=0 /app/myProject /app
RUN ./gradlew build --stacktrace
Run Code Online (Sandbox Code Playgroud)

该命令./gradlew build --stacktrace无法执行,并因错误而失败:

FAILURE: Build failed with an exception.

* What went wrong:
Could not update /app/.gradle/3.5-rc-2/file-changes/last-build.bin
Run Code Online (Sandbox Code Playgroud)

和堆栈跟踪:

org.gradle.api.UncheckedIOException: Could not update /app/.gradle/3.5-rc-2/file-changes/last-build.bin
    at org.gradle.api.internal.changedetection.state.FileTimeStampInspector.updateOnFinishBuild(FileTimeStampInspector.java:72)
    at org.gradle.api.internal.changedetection.state.BuildScopeFileTimeStampInspector.stop(BuildScopeFileTimeStampInspector.java:38)
    at org.gradle.internal.concurrent.CompositeStoppable.stop(CompositeStoppable.java:98)
.....
Caused by: java.io.FileNotFoundException: /app/.gradle/3.5-rc-2/file-changes/last-build.bin (Permission denied)
    at java.io.FileOutputStream.open0(Native Method)
......
Run Code Online (Sandbox Code Playgroud)

为什么docker用户没有权限在工作目录中创建文件以及如何添加这些权限?简单RUN chmod 777 /app不起作用告诉我:chmod: /app: Operation not permitted

file-permissions gradle docker build.gradle

4
推荐指数
2
解决办法
1万
查看次数

在 MacOS 上清理 .gradle forlde

我正在尝试清理 Mac 上的一些空间,但我注意到.gradle文件夹需要4.49GB. 它里面,我可以看到,有一个cache是文件夹1.23GB大,wrapper这是3.18GB大的。在wrapper文件夹内我可以看到这样的结构:

gradle-2.13-all     
gradle-3.1-bin      
gradle-3.5-rc-2-bin 
gradle-3.5.1-bin    
gradle-4.2-all      
gradle-4.2.1-bin
Run Code Online (Sandbox Code Playgroud)

等等。所以这看起来像是一些仍然存在的旧数据。我没有找到任何 gradle 命令来清理它的旧数据,也没有发现这些数据是否重要。所以问题是可以删除什么来释放一些空间?

macos storage gradle

4
推荐指数
1
解决办法
750
查看次数

spring-data JpaRepository save() 方法副作用

我注意到save(T entity)spring-data JpaRepository 中有一个非常奇怪的行为。

我有实体Foo foo,我正在尝试使用 repository 保存它fooRepository.save(foo)。我的问题是,保存后foo,我传递给save()方法的实例已更改。我不指望这个,我很奇怪我找不到任何与它相关的问题。

这是预期的行为吗?

java spring hibernate jpa spring-data

4
推荐指数
1
解决办法
147
查看次数

Kotlin 协程比线程花费的时间更长

我是 Kotlin 和协程的新手,我正在尝试了解协程 API,所以我很可能做错了什么。所以我有某种对象的列表,我试图对这些对象中的每一个应用一些长时间运行的处理。

val listOfFoos = listOf(Foo(1), ..., Foo(n))
listOfFoos.forEach { longRunningJob(it) }

fun longRunningJob(foo: Foo) {
    runBlocking{
        delay(2000) //hardcoded delay for testing
    }
    //do something else
}
Run Code Online (Sandbox Code Playgroud)

当然,这是并发运行它的完美候选者,所以这里使用的是好的旧线程:

listOfFoos.map { thread(start = true) { longRunningJob(it) } }.forEach { it.join() }
Run Code Online (Sandbox Code Playgroud)

当我测量它的执行时间时,它measureTimeMillis给了我大约 2 秒的时间,这看起来非常好,因为每个都longRunningJob并行运行。但是协程要好得多,因为它没有用于上下文切换的线程那样的开销。所以这是我使用协程的实现:

val deferredResults =
    listOfFoos.map { GlobalScope.async { longRunningJob(it) } }
runBlocking {
    deferredResults.awaitAll()
}
Run Code Online (Sandbox Code Playgroud)

但是这个实现在大约 4 秒内完成了执行,这根本不是我所期望的,如果我向列表中添加更多元素,执行时间也会增加。

那么我在这里做错了什么?

concurrency coroutine kotlin kotlin-coroutines

3
推荐指数
1
解决办法
969
查看次数

@MockBean 似乎重新运行上下文创建并失败 afterMigrate.sql

我有两个集成测试类。其中一个类依赖于与外部服务通信的 bean,所以我需要模拟这个 bean,这@MockBean似乎是完美的。为了将一些种子注入数据库,我使用flyway的是afterMigrate.sql. 所以这里很热,它看起来像:

@RunWith(SpringRunner.class)
@ActiveProfiles("test")
@SpringBootTest
@Transactional
@Rollback
class FooTest {

  @Autowired
  private MyService myService;
}

@RunWith(SpringRunner.class)
@ActiveProfiles("test")
@SpringBootTest
@Transactional
@Rollback
class BarTest {

  @MockBean
  private ExternalService;

  @Autowired
  private MyService myService;
}
Run Code Online (Sandbox Code Playgroud)

并且afterMigrate.sql

INSERT INTO my_table (id, name) VALUES (1, 'John Doe')
Run Code Online (Sandbox Code Playgroud)

当我注释的问题似乎ExternatService@MockBean因为现在的afretMigrate.sql运行两次,我得到的错误:

java.lang.IllegalStateException: Failed to load ApplicationContext
....
Message    : ERROR: duplicate key value violates unique constraint "my_table_pkey"
Run Code Online (Sandbox Code Playgroud)

当我将其更改@MockBean@Autowired错误时,错误消失了,并且创建了上下文没有任何问题。此外,如果我BarTest …

java spring spring-test mockito flyway

3
推荐指数
2
解决办法
1672
查看次数

Spring 在启动时会忽略失败

当 spring 应用程序准备好时,我需要执行一些工作,类似于@Scheduled但我希望它只执行一次。我找到了一些方法来做到这一点,例如@PostConstruct在 bean 上使用,使用@EventListeneror InitializingBean,但是,所有这些方法都不符合我的需要。如果在此逻辑的执行过程中出现问题,我想忽略它,以便应用程序无论如何都会启动。但是使用这些方法应用程序会崩溃。

当然,我可以用 包围逻辑,try-catch它会起作用。但是,还有更优雅的方式吗?

java spring startup spring-boot

3
推荐指数
1
解决办法
161
查看次数

没有叫json Unmarshaller

我对Golang很新.我正在寻找一种方法来为编组和解组做一些自定义的东西json.我找到了实现MarshallerUnmarshaller接口的解决方案.

这是我struct实现的接口(我也实现了Stringer):

type Data struct {
    Foo string `json:"foo"`
    bar string
}

func (d Data) MarshalJSON() ([]byte, error) {
    return []byte("{\"foo\":\"test\",\"bar\":\"data\"}"), nil
}

func (d Data) String() string {
    return fmt.Sprintf("Foo: %s, bar: %s", d.Foo, d.bar)
}

func (d Data) UnmarshalJSON(b []byte) error {
    d.bar = "testtest"
    d.Foo = "data"
    return nil
}
Run Code Online (Sandbox Code Playgroud)

对于Marshaller一切正常:

data := &Data{}
marshal, _ := json.Marshal(data)
fmt.Println(string(marshal))
Run Code Online (Sandbox Code Playgroud)

输出如预期:

{ "foo" 的: "测试", "杆": "数据"}

但是Unmarshaller并没有像我期望的那样工作: …

json marshalling go unmarshalling

1
推荐指数
1
解决办法
396
查看次数